On Jun 16, 2013, at 3:30 PM, Glen Barber <g...@freebsd.org> wrote: > On Fri, Jun 14, 2013 at 11:43:45PM +0000, Justin T. Gibbs wrote: >> Author: gibbs >> Date: Fri Jun 14 23:43:44 2013 >> New Revision: 251767 >> URL: http://svnweb.freebsd.org/changeset/base/251767 >> >> Log: >> Upgrade Xen interface headers to Xen 4.2.1. >> >> Move FreeBSD from interface version 0x00030204 to 0x00030208. >> Updates are required to our grant table implementation before we >> can bump this further. >> >> sys/xen/hvm.h: >> Replace the implementation of hvm_get_parameter(), formerly located >> in sys/xen/interface/hvm/params.h. Linux has a similar file which >> primarily stores this function. >> >> sys/xen/xenstore/xenstore.c: >> Include new xen/hvm.h header file to get hvm_get_parameter(). >> >> sys/amd64/include/xen/xen-os.h: >> sys/i386/include/xen/xen-os.h: >> Correctly protect function definition and variables from being >> included into assembly files in xen-os.h >> >> Xen memory barriers are now prefixed with "xen_" to avoid conflicts >> with OS native primatives. Define Xen memory barriers in terms of >> the native FreeBSD primatives. >> > > [...] > >> Modified: head/sys/xen/interface/arch-ia64.h >> ============================================================================== >> --- head/sys/xen/interface/arch-ia64.h Fri Jun 14 23:04:31 2013 >> (r251766) >> +++ head/sys/xen/interface/arch-ia64.h Fri Jun 14 23:43:44 2013 >> (r251767) >> @@ -49,10 +49,11 @@ >> #define XEN_GUEST_HANDLE(name) __guest_handle_ ## name >> #define XEN_GUEST_HANDLE_64(name) XEN_GUEST_HANDLE(name) >> #define uint64_aligned_t uint64_t >> -#define set_xen_guest_handle(hnd, val) do { (hnd).p = val; } while (0) >> +#define set_xen_guest_handle_raw(hnd, val) do { (hnd).p = val; } while (0) >> #ifdef __XEN_TOOLS__ >> #define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0) >> #endif >> +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) >> >> #ifndef __ASSEMBLY__ >> typedef unsigned long xen_pfn_t; >> @@ -66,7 +67,7 @@ typedef unsigned long xen_pfn_t; >> >> /* Maximum number of virtual CPUs in multi-processor guests. */ >> /* WARNING: before changing this, check that shared_info fits on a page */ >> -#define MAX_VIRT_CPUS 64 >> +#define XEN_LEGACY_MAX_VCPUS 64 >> > > I think this is breaking the i386 XEN build: > > cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs > -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef > -Wno-pointer-sign > -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option > -Wno-error-tautological-compare -Wno-error-empty-body > -Wno-error-parentheses-equality > -nostdinc -I. -I/src/sys -I/src/sys/contrib/altq -I/src/sys/contrib/libfdt > -D_KERNEL > -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -mno-aes -mno-avx > -mno-mmx -mno-sse > -msoft-float -ffreestanding -fstack-protector -Werror > /src/sys/xen/evtchn/evtchn.c > /src/sys/xen/evtchn/evtchn.c:149:38: error: use of undeclared identifier > 'MAX_VIRT_CPUS' > static unsigned long > cpu_evtchn_mask[MAX_VIRT_CPUS][NR_EVENT_CHANNELS/LONG_BIT]; > ^ > /src/sys/xen/evtchn/evtchn.c:1001:22: error: use of undeclared > identifier 'MAX_VIRT_CPUS' > for (cpu = 1; cpu < MAX_VIRT_CPUS; cpu++) { > ^ > 2 errors generated. > *** Error code 1 > > Stop. > make: stopped in /obj/i386.i386/src/sys/XEN > *** Error code 1 > > > Glen
Yup, because of the change to the x86 version of the header you reference. I have a patch ready and am just waiting on a build. -- Justin
signature.asc
Description: Message signed with OpenPGP using GPGMail