This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: One question to compat model

>>> "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> 12.05.10 09:38 >>>
>Followed is part of my patch, I try to add a structure xen_mc_inject_v2 to 
>xen_mc, with xenctl_cpumap embeded in the xen_mc_inject_v2.
>However, in the "include/compat/arch-x86/xen-mca.h", the xenctl_cpumap is 
>translated to be compat_ctl_cpumap, this is sure not I wanted.

Hmm, XEN_GUEST_HANDLE_64() is not being dealt with by the scripts so far, so I 
believe support for this will need to be added. No sure though whether simply 
adding the type as a needs-checking one to xen/include/xlat.lst wouldn't 

>After checking the related code, I find it should be caused by the [ 
>r"(struct|union|enum)\s+(xen_?)?(\w)", r"\1 compat_\3" ] in 
>tools/compat-build-header.py, which will replace all "struct xen" with "struct 
>compat". Add the xenctl_cpumap to xlat.lst raise other warnings.

Without knowing which ones I can't say much.

>I can't find a solution on how to make sure the xenctl_cpumap will not be 
>changed, can you please give me some information on it?
>BTW, are there any guideline on how should we define the interface structure 
>and handle them for compat model? For example, seems 
>arch/x86/x86_64/platform_hypercall.c and arch/x86/cpu/mcheck/mce.c has 
>different method to handle the compat model.

Sure - I picked the model that was causing less headache in each place I needed 
to do conversion and/or checking.

In the worst case, if you can make the whole thing build without handling the 
compat case, I could look into the checking/translation issues after the patch 
went in. Please just remind me when submitting the patch if you want me to do 


Xen-devel mailing list