[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 01/10] Xen: Guest Handlers and Copyrights
These are used as part of the Xen hypercall interfaces. Signed-off-by: Daniel Castro <evil.dani@xxxxxxxxx> --- src/xen.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 3 deletions(-) diff --git a/src/xen.h b/src/xen.h index 0ed1e9f..f65078a 100644 --- a/src/xen.h +++ b/src/xen.h @@ -17,6 +17,8 @@ static inline int usingXen(void) { } unsigned long xen_hypercall_page; +typedef unsigned long xen_ulong_t; +typedef unsigned long xen_pfn_t; #define _hypercall0(type, name) \ ({ \ @@ -121,15 +123,68 @@ unsigned long xen_hypercall_page; * DEALINGS IN THE SOFTWARE. */ -/* xen.h */ +/****************************************************************************** + * arch-x86/xen.h + * + * Guest OS interface to x86 Xen. + * + * Copyright (c) 2004-2006, K A Fraser + */ -#define __HYPERVISOR_xen_version 17 -/* version.h */ +/* Structural guest handles introduced in 0x00030201. */ +#define ___DEFINE_XEN_GUEST_HANDLE(name, type) \ + typedef struct { type *p; } __guest_handle_ ## name + +#define __DEFINE_XEN_GUEST_HANDLE(name, type) \ + ___DEFINE_XEN_GUEST_HANDLE(name, type); \ + ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type) +#define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) +#define __XEN_GUEST_HANDLE(name) __guest_handle_ ## name +#define XEN_GUEST_HANDLE(name) __XEN_GUEST_HANDLE(name) +#define set_xen_guest_handle_raw(hnd, val) do { (hnd).p = val; } while (0) +#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val) + +/****************************************************************************** + * version.h + * + * Xen version, type, and compile information. + * + * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@xxxxxxxxx> + * Copyright (c) 2005, Keir Fraser <keir@xxxxxxxxxxxxx> + */ /* arg == xen_extraversion_t. */ #define XENVER_extraversion 1 typedef char xen_extraversion_t[16]; #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t)) +/****************************************************************************** + * xen.h + * + * Guest OS interface to Xen. + * + * Copyright (c) 2004, K A Fraser + */ + +#define DOMID_SELF (0x7FF0U) + +/* Guest handles for primitive C types. */ +DEFINE_XEN_GUEST_HANDLE(char); +__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char); +DEFINE_XEN_GUEST_HANDLE(int); +__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int); +DEFINE_XEN_GUEST_HANDLE(long); +__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long); +DEFINE_XEN_GUEST_HANDLE(void); + +DEFINE_XEN_GUEST_HANDLE(u64); +DEFINE_XEN_GUEST_HANDLE(xen_pfn_t); + +__DEFINE_XEN_GUEST_HANDLE(u8, u8); +__DEFINE_XEN_GUEST_HANDLE(u16, u16); +__DEFINE_XEN_GUEST_HANDLE(u32, u32); + +#define __HYPERVISOR_xen_version 17 + #endif -- 1.7.4.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |