|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] Sync Xen public headers.
# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1193679774 0
# Node ID e9cb774f0bd9019794e22e63d2e25ee758ab3433
# Parent 3e795ec97e71f02b3f87b248119f803557a4788a
Sync Xen public headers.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
include/xen/interface/arch-ia64.h | 5 +++++
include/xen/interface/domctl.h | 26 ++++++++++++++++++++++++++
include/xen/interface/platform.h | 22 ++++++++++++++++++----
include/xen/interface/sysctl.h | 21 +++++++++++++++------
include/xen/interface/vcpu.h | 3 +++
5 files changed, 67 insertions(+), 10 deletions(-)
diff -r 3e795ec97e71 -r e9cb774f0bd9 include/xen/interface/arch-ia64.h
--- a/include/xen/interface/arch-ia64.h Fri Oct 26 17:17:41 2007 +0100
+++ b/include/xen/interface/arch-ia64.h Mon Oct 29 17:42:54 2007 +0000
@@ -427,6 +427,11 @@ struct vcpu_guest_context {
struct vcpu_guest_context_regs regs;
unsigned long event_callback_ip;
+
+ /* xen doesn't share privregs pages with hvm domain so that this member
+ * doesn't make sense for hvm domain.
+ * ~0UL is already used for INVALID_P2M_ENTRY. */
+#define VGC_PRIVREGS_HVM (~(-2UL))
unsigned long privregs_pfn;
};
typedef struct vcpu_guest_context vcpu_guest_context_t;
diff -r 3e795ec97e71 -r e9cb774f0bd9 include/xen/interface/domctl.h
--- a/include/xen/interface/domctl.h Fri Oct 26 17:17:41 2007 +0100
+++ b/include/xen/interface/domctl.h Mon Oct 29 17:42:54 2007 +0000
@@ -515,6 +515,31 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_pin_m
DEFINE_XEN_GUEST_HANDLE(xen_domctl_pin_mem_cacheattr_t);
+#define XEN_DOMCTL_set_ext_vcpucontext 42
+#define XEN_DOMCTL_get_ext_vcpucontext 43
+struct xen_domctl_ext_vcpucontext {
+ /* IN: VCPU that this call applies to. */
+ uint32_t vcpu;
+ /*
+ * SET: Size of struct (IN)
+ * GET: Size of struct (OUT)
+ */
+ uint32_t size;
+#if defined(__i386__) || defined(__x86_64__)
+ /* SYSCALL from 32-bit mode and SYSENTER callback information. */
+ /* NB. SYSCALL from 64-bit mode is contained in vcpu_guest_context_t */
+ uint64_aligned_t syscall32_callback_eip;
+ uint64_aligned_t sysenter_callback_eip;
+ uint16_t syscall32_callback_cs;
+ uint16_t sysenter_callback_cs;
+ uint8_t syscall32_disables_events;
+ uint8_t sysenter_disables_events;
+#endif
+};
+typedef struct xen_domctl_ext_vcpucontext xen_domctl_ext_vcpucontext_t;
+DEFINE_XEN_GUEST_HANDLE(xen_domctl_ext_vcpucontext_t);
+
+
struct xen_domctl {
uint32_t cmd;
uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
@@ -549,6 +574,7 @@ struct xen_domctl {
struct xen_domctl_memory_mapping memory_mapping;
struct xen_domctl_ioport_mapping ioport_mapping;
struct xen_domctl_pin_mem_cacheattr pin_mem_cacheattr;
+ struct xen_domctl_ext_vcpucontext ext_vcpucontext;
uint8_t pad[128];
} u;
};
diff -r 3e795ec97e71 -r e9cb774f0bd9 include/xen/interface/platform.h
--- a/include/xen/interface/platform.h Fri Oct 26 17:17:41 2007 +0100
+++ b/include/xen/interface/platform.h Mon Oct 29 17:42:54 2007 +0000
@@ -174,13 +174,27 @@ typedef struct xenpf_change_freq xenpf_c
typedef struct xenpf_change_freq xenpf_change_freq_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_change_freq_t);
+/*
+ * Get idle times (nanoseconds since boot) for physical CPUs specified in the
+ * @cpumap_bitmap with range [0..@cpumap_nr_cpus-1]. The @idletime array is
+ * indexed by CPU number; only entries with the corresponding @cpumap_bitmap
+ * bit set are written to. On return, @cpumap_bitmap is modified so that any
+ * non-existent CPUs are cleared. Such CPUs have their @idletime array entry
+ * cleared.
+ */
#define XENPF_getidletime 53
struct xenpf_getidletime {
- /* IN variables. */
- uint32_t max_cpus;
+ /* IN/OUT variables */
+ /* IN: CPUs to interrogate; OUT: subset of IN which are present */
+ XEN_GUEST_HANDLE(uint8_t) cpumap_bitmap;
+ /* IN variables */
+ /* Size of cpumap bitmap. */
+ uint32_t cpumap_nr_cpus;
+ /* Must be indexable for every cpu in cpumap_bitmap. */
XEN_GUEST_HANDLE(uint64_t) idletime;
- /* OUT variables. */
- uint32_t nr_cpus;
+ /* OUT variables */
+ /* System time when the idletime snapshots were taken. */
+ uint64_t now;
};
typedef struct xenpf_getidletime xenpf_getidletime_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_getidletime_t);
diff -r 3e795ec97e71 -r e9cb774f0bd9 include/xen/interface/sysctl.h
--- a/include/xen/interface/sysctl.h Fri Oct 26 17:17:41 2007 +0100
+++ b/include/xen/interface/sysctl.h Mon Oct 29 17:42:54 2007 +0000
@@ -34,18 +34,27 @@
#include "xen.h"
#include "domctl.h"
-#define XEN_SYSCTL_INTERFACE_VERSION 0x00000005
+#define XEN_SYSCTL_INTERFACE_VERSION 0x00000006
/*
* Read console content from Xen buffer ring.
*/
#define XEN_SYSCTL_readconsole 1
struct xen_sysctl_readconsole {
- /* IN variables. */
- uint32_t clear; /* Non-zero -> clear after reading. */
- XEN_GUEST_HANDLE_64(char) buffer; /* Buffer start */
- /* IN/OUT variables. */
- uint32_t count; /* In: Buffer size; Out: Used buffer size */
+ /* IN: Non-zero -> clear after reading. */
+ uint8_t clear;
+ /* IN: Non-zero -> start index specified by @index field. */
+ uint8_t incremental;
+ uint8_t pad0, pad1;
+ /*
+ * IN: Start index for consuming from ring buffer (if @incremental);
+ * OUT: End index after consuming from ring buffer.
+ */
+ uint32_t index;
+ /* IN: Virtual address to write console data. */
+ XEN_GUEST_HANDLE_64(char) buffer;
+ /* IN: Size of buffer; OUT: Bytes written to buffer. */
+ uint32_t count;
};
typedef struct xen_sysctl_readconsole xen_sysctl_readconsole_t;
DEFINE_XEN_GUEST_HANDLE(xen_sysctl_readconsole_t);
diff -r 3e795ec97e71 -r e9cb774f0bd9 include/xen/interface/vcpu.h
--- a/include/xen/interface/vcpu.h Fri Oct 26 17:17:41 2007 +0100
+++ b/include/xen/interface/vcpu.h Mon Oct 29 17:42:54 2007 +0000
@@ -179,6 +179,9 @@ typedef struct vcpu_register_vcpu_info v
typedef struct vcpu_register_vcpu_info vcpu_register_vcpu_info_t;
DEFINE_XEN_GUEST_HANDLE(vcpu_register_vcpu_info_t);
+/* Send an NMI to the specified VCPU. @extra_arg == NULL. */
+#define VCPUOP_send_nmi 11
+
#endif /* __XEN_PUBLIC_VCPU_H__ */
/*
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
|
|
|
|