svn commit: r251767 - in head/sys: amd64/include/xen i386/include/xen xen xen/interface xen/interface/arch-arm/hvm xen/interface/arch-ia64 xen/interface/arch-ia64/hvm xen/interface/arch-x86 xen/int...

Justin T. Gibbs gibbs at FreeBSD.org
Sun Jun 16 23:14:50 UTC 2013


On Jun 16, 2013, at 3:30 PM, Glen Barber <gjb at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20130616/93ef66b8/attachment.sig>


More information about the svn-src-all mailing list