[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] confusion over vcpumask in mmuext_op
> vcpumask is now a guest handle, but it seems the Linux code still sets > it directly instead of using set_xen_guest_handle(). What am I missing? It's a result of some version-fu in the interface: Linux's drivers/xen/Kconfig defines: if XEN config XEN_INTERFACE_VERSION hex default 0x00030203 xen.h defines: struct mmuext_op { unsigned int cmd; union { /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */ xen_pfn_t mfn; /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */ unsigned long linear_addr; } arg1; union { /* SET_LDT */ unsigned int nr_ents; /* TLB_FLUSH_MULTI, INVLPG_MULTI */ XEN_GUEST_HANDLE_00030205(void) vcpumask; /* MW:note the macro name */ } arg2; }; typedef struct And xen-compat.h defines: /* Fields defined as a Xen guest handle since 0x00030205. */ #if __XEN_INTERFACE_VERSION__ >= 0x00030205 #define XEN_GUEST_HANDLE_00030205(type) XEN_GUEST_HANDLE(type) #else #define XEN_GUEST_HANDLE_00030205(type) type * #endif So actually the field vcpumask is currently being compiled as a void *. Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |