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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to