[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/9] x86/hypercall: Move some of the hvm hypercall infrastructure into hypercall.h
Hi Jan, On 02/08/16 14:28, Jan Beulich wrote: On 02.08.16 at 15:14, <andrew.cooper3@xxxxxxxxxx> wrote:On 02/08/16 13:50, Jan Beulich wrote:On 18.07.16 at 11:51, <andrew.cooper3@xxxxxxxxxx> wrote:--- a/xen/include/asm-x86/hypercall.h +++ b/xen/include/asm-x86/hypercall.h @@ -5,9 +5,21 @@ #ifndef __ASM_X86_HYPERCALL_H__ #define __ASM_X86_HYPERCALL_H__ +#include <xen/types.h> #include <public/physdev.h> +#include <public/event_channel.h>Why?You snipped the commit message, which justifies why. This header file cannot currently be included in isolation, and I need it to be.Ah, that sentence there also relates to this addition.#include <public/arch-x86/xen-mca.h> /* for do_mca */ -#include <xen/types.h> + +typedef unsigned long hypercall_fn_t( + unsigned long, unsigned long, unsigned long, + unsigned long, unsigned long, unsigned long);Wouldn't this better go into xen/hypercall.h?It is architecture specific. ARM's version is typedef register_t (*arm_hypercall_fn_t)( register_t, register_t, register_t, register_t, register_t);Which is bogus - they're lucky we so far don't have any 6-argument hypercalls. Or the other way around - we could limit hypercalls to just five arguments (for now) on x86 too, allowing things to get unified. Anyway - that probably goes too far right now, so feel free to add my ack to the patch. I am not sure why you think we are lucky on ARM. The hypercall has been defined on ARM to support up to 5 arguments (public/arch-arm.h): "A hypercall can take up to 5 arguments. These are passed in registers, the first argument in x0/r0 (for arm64/arm32 guests respectively irrespective of whether the underlying hypervisor is 32- or 64-bit), the second argument in x1/r1, the third in x2/r2, the forth in x3/r3 and the fifth in x4/r4." So the prototype matches the ABI. Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |