aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/interface
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2012-10-30 03:20:56 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2012-10-30 03:20:56 -0400
commit53279f36dccffc26ff536003fd6bb97cc21c3b82 (patch)
tree9d16e497c0e4158c7c054c479bd0e9ff0388d7bb /include/xen/interface
parenta6e8c0a25377e27958b11b20e1927885ae7c9857 (diff)
parent8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff)
Merge tag 'v3.7-rc3' into next to sync up with recent USB and MFD changes
Diffstat (limited to 'include/xen/interface')
-rw-r--r--include/xen/interface/callback.h2
-rw-r--r--include/xen/interface/features.h3
-rw-r--r--include/xen/interface/grant_table.h14
-rw-r--r--include/xen/interface/hvm/hvm_op.h19
-rw-r--r--include/xen/interface/hvm/params.h2
-rw-r--r--include/xen/interface/io/blkif.h4
-rw-r--r--include/xen/interface/io/netif.h4
-rw-r--r--include/xen/interface/io/protocols.h3
-rw-r--r--include/xen/interface/memory.h43
-rw-r--r--include/xen/interface/physdev.h18
-rw-r--r--include/xen/interface/platform.h9
-rw-r--r--include/xen/interface/sched.h2
-rw-r--r--include/xen/interface/version.h7
-rw-r--r--include/xen/interface/xen.h8
14 files changed, 86 insertions, 52 deletions
diff --git a/include/xen/interface/callback.h b/include/xen/interface/callback.h
index 2ae3cd243264..8c5fa0e20155 100644
--- a/include/xen/interface/callback.h
+++ b/include/xen/interface/callback.h
@@ -27,7 +27,7 @@
27#ifndef __XEN_PUBLIC_CALLBACK_H__ 27#ifndef __XEN_PUBLIC_CALLBACK_H__
28#define __XEN_PUBLIC_CALLBACK_H__ 28#define __XEN_PUBLIC_CALLBACK_H__
29 29
30#include "xen.h" 30#include <xen/interface/xen.h>
31 31
32/* 32/*
33 * Prototype for this hypercall is: 33 * Prototype for this hypercall is:
diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h
index b6ca39a069d8..131a6ccdba25 100644
--- a/include/xen/interface/features.h
+++ b/include/xen/interface/features.h
@@ -50,6 +50,9 @@
50/* x86: pirq can be used by HVM guests */ 50/* x86: pirq can be used by HVM guests */
51#define XENFEAT_hvm_pirqs 10 51#define XENFEAT_hvm_pirqs 10
52 52
53/* operation as Dom0 is supported */
54#define XENFEAT_dom0 11
55
53#define XENFEAT_NR_SUBMAPS 1 56#define XENFEAT_NR_SUBMAPS 1
54 57
55#endif /* __XEN_PUBLIC_FEATURES_H__ */ 58#endif /* __XEN_PUBLIC_FEATURES_H__ */
diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h
index a17d84433e6a..e40fae9bf11a 100644
--- a/include/xen/interface/grant_table.h
+++ b/include/xen/interface/grant_table.h
@@ -310,7 +310,7 @@ struct gnttab_setup_table {
310 uint32_t nr_frames; 310 uint32_t nr_frames;
311 /* OUT parameters. */ 311 /* OUT parameters. */
312 int16_t status; /* GNTST_* */ 312 int16_t status; /* GNTST_* */
313 GUEST_HANDLE(ulong) frame_list; 313 GUEST_HANDLE(xen_pfn_t) frame_list;
314}; 314};
315DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table); 315DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table);
316 316
@@ -338,7 +338,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_table);
338#define GNTTABOP_transfer 4 338#define GNTTABOP_transfer 4
339struct gnttab_transfer { 339struct gnttab_transfer {
340 /* IN parameters. */ 340 /* IN parameters. */
341 unsigned long mfn; 341 xen_pfn_t mfn;
342 domid_t domid; 342 domid_t domid;
343 grant_ref_t ref; 343 grant_ref_t ref;
344 /* OUT parameters. */ 344 /* OUT parameters. */
@@ -375,7 +375,7 @@ struct gnttab_copy {
375 struct { 375 struct {
376 union { 376 union {
377 grant_ref_t ref; 377 grant_ref_t ref;
378 unsigned long gmfn; 378 xen_pfn_t gmfn;
379 } u; 379 } u;
380 domid_t domid; 380 domid_t domid;
381 uint16_t offset; 381 uint16_t offset;
@@ -519,7 +519,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_version);
519#define GNTST_no_device_space (-7) /* Out of space in I/O MMU. */ 519#define GNTST_no_device_space (-7) /* Out of space in I/O MMU. */
520#define GNTST_permission_denied (-8) /* Not enough privilege for operation. */ 520#define GNTST_permission_denied (-8) /* Not enough privilege for operation. */
521#define GNTST_bad_page (-9) /* Specified page was invalid for op. */ 521#define GNTST_bad_page (-9) /* Specified page was invalid for op. */
522#define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary */ 522#define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary. */
523#define GNTST_address_too_big (-11) /* transfer page address too large. */
524#define GNTST_eagain (-12) /* Operation not done; try again. */
523 525
524#define GNTTABOP_error_msgs { \ 526#define GNTTABOP_error_msgs { \
525 "okay", \ 527 "okay", \
@@ -532,7 +534,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_version);
532 "no spare translation slot in the I/O MMU", \ 534 "no spare translation slot in the I/O MMU", \
533 "permission denied", \ 535 "permission denied", \
534 "bad page", \ 536 "bad page", \
535 "copy arguments cross page boundary" \ 537 "copy arguments cross page boundary", \
538 "page address size too large", \
539 "operation not done; try again" \
536} 540}
537 541
538#endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */ 542#endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */
diff --git a/include/xen/interface/hvm/hvm_op.h b/include/xen/interface/hvm/hvm_op.h
index a4827f46ee97..956a04682865 100644
--- a/include/xen/interface/hvm/hvm_op.h
+++ b/include/xen/interface/hvm/hvm_op.h
@@ -43,4 +43,23 @@ struct xen_hvm_pagetable_dying {
43typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t; 43typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t;
44DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t); 44DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t);
45 45
46enum hvmmem_type_t {
47 HVMMEM_ram_rw, /* Normal read/write guest RAM */
48 HVMMEM_ram_ro, /* Read-only; writes are discarded */
49 HVMMEM_mmio_dm, /* Reads and write go to the device model */
50};
51
52#define HVMOP_get_mem_type 15
53/* Return hvmmem_type_t for the specified pfn. */
54struct xen_hvm_get_mem_type {
55 /* Domain to be queried. */
56 domid_t domid;
57 /* OUT variable. */
58 uint16_t mem_type;
59 uint16_t pad[2]; /* align next field on 8-byte boundary */
60 /* IN variable. */
61 uint64_t pfn;
62};
63DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_type);
64
46#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */ 65#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
diff --git a/include/xen/interface/hvm/params.h b/include/xen/interface/hvm/params.h
index 1b4f923d7086..a6c79911e729 100644
--- a/include/xen/interface/hvm/params.h
+++ b/include/xen/interface/hvm/params.h
@@ -21,7 +21,7 @@
21#ifndef __XEN_PUBLIC_HVM_PARAMS_H__ 21#ifndef __XEN_PUBLIC_HVM_PARAMS_H__
22#define __XEN_PUBLIC_HVM_PARAMS_H__ 22#define __XEN_PUBLIC_HVM_PARAMS_H__
23 23
24#include "hvm_op.h" 24#include <xen/interface/hvm/hvm_op.h>
25 25
26/* 26/*
27 * Parameter space for HVMOP_{set,get}_param. 27 * Parameter space for HVMOP_{set,get}_param.
diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h
index ee338bfde18b..01c3d62436ef 100644
--- a/include/xen/interface/io/blkif.h
+++ b/include/xen/interface/io/blkif.h
@@ -9,8 +9,8 @@
9#ifndef __XEN_PUBLIC_IO_BLKIF_H__ 9#ifndef __XEN_PUBLIC_IO_BLKIF_H__
10#define __XEN_PUBLIC_IO_BLKIF_H__ 10#define __XEN_PUBLIC_IO_BLKIF_H__
11 11
12#include "ring.h" 12#include <xen/interface/io/ring.h>
13#include "../grant_table.h" 13#include <xen/interface/grant_table.h>
14 14
15/* 15/*
16 * Front->back notifications: When enqueuing a new request, sending a 16 * Front->back notifications: When enqueuing a new request, sending a
diff --git a/include/xen/interface/io/netif.h b/include/xen/interface/io/netif.h
index cb94668f6e9f..9dfc12000980 100644
--- a/include/xen/interface/io/netif.h
+++ b/include/xen/interface/io/netif.h
@@ -9,8 +9,8 @@
9#ifndef __XEN_PUBLIC_IO_NETIF_H__ 9#ifndef __XEN_PUBLIC_IO_NETIF_H__
10#define __XEN_PUBLIC_IO_NETIF_H__ 10#define __XEN_PUBLIC_IO_NETIF_H__
11 11
12#include "ring.h" 12#include <xen/interface/io/ring.h>
13#include "../grant_table.h" 13#include <xen/interface/grant_table.h>
14 14
15/* 15/*
16 * Notifications after enqueuing any type of message should be conditional on 16 * Notifications after enqueuing any type of message should be conditional on
diff --git a/include/xen/interface/io/protocols.h b/include/xen/interface/io/protocols.h
index 01fc8ae5f0b0..0eafaf254fff 100644
--- a/include/xen/interface/io/protocols.h
+++ b/include/xen/interface/io/protocols.h
@@ -5,6 +5,7 @@
5#define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" 5#define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi"
6#define XEN_IO_PROTO_ABI_IA64 "ia64-abi" 6#define XEN_IO_PROTO_ABI_IA64 "ia64-abi"
7#define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" 7#define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi"
8#define XEN_IO_PROTO_ABI_ARM "arm-abi"
8 9
9#if defined(__i386__) 10#if defined(__i386__)
10# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 11# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32
@@ -14,6 +15,8 @@
14# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 15# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64
15#elif defined(__powerpc64__) 16#elif defined(__powerpc64__)
16# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 17# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64
18#elif defined(__arm__)
19# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM
17#else 20#else
18# error arch fixup needed here 21# error arch fixup needed here
19#endif 22#endif
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index eac3ce153719..90712e2072d5 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -31,10 +31,10 @@ struct xen_memory_reservation {
31 * OUT: GMFN bases of extents that were allocated 31 * OUT: GMFN bases of extents that were allocated
32 * (NB. This command also updates the mach_to_phys translation table) 32 * (NB. This command also updates the mach_to_phys translation table)
33 */ 33 */
34 GUEST_HANDLE(ulong) extent_start; 34 GUEST_HANDLE(xen_pfn_t) extent_start;
35 35
36 /* Number of extents, and size/alignment of each (2^extent_order pages). */ 36 /* Number of extents, and size/alignment of each (2^extent_order pages). */
37 unsigned long nr_extents; 37 xen_ulong_t nr_extents;
38 unsigned int extent_order; 38 unsigned int extent_order;
39 39
40 /* 40 /*
@@ -92,7 +92,7 @@ struct xen_memory_exchange {
92 * command will be non-zero. 92 * command will be non-zero.
93 * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER! 93 * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER!
94 */ 94 */
95 unsigned long nr_exchanged; 95 xen_ulong_t nr_exchanged;
96}; 96};
97 97
98DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange); 98DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange);
@@ -130,7 +130,7 @@ struct xen_machphys_mfn_list {
130 * any large discontiguities in the machine address space, 2MB gaps in 130 * any large discontiguities in the machine address space, 2MB gaps in
131 * the machphys table will be represented by an MFN base of zero. 131 * the machphys table will be represented by an MFN base of zero.
132 */ 132 */
133 GUEST_HANDLE(ulong) extent_start; 133 GUEST_HANDLE(xen_pfn_t) extent_start;
134 134
135 /* 135 /*
136 * Number of extents written to the above array. This will be smaller 136 * Number of extents written to the above array. This will be smaller
@@ -148,8 +148,8 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mfn_list);
148 */ 148 */
149#define XENMEM_machphys_mapping 12 149#define XENMEM_machphys_mapping 12
150struct xen_machphys_mapping { 150struct xen_machphys_mapping {
151 unsigned long v_start, v_end; /* Start and end virtual addresses. */ 151 xen_ulong_t v_start, v_end; /* Start and end virtual addresses. */
152 unsigned long max_mfn; /* Maximum MFN that can be looked up. */ 152 xen_ulong_t max_mfn; /* Maximum MFN that can be looked up. */
153}; 153};
154DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t); 154DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t);
155 155
@@ -163,41 +163,24 @@ struct xen_add_to_physmap {
163 /* Which domain to change the mapping for. */ 163 /* Which domain to change the mapping for. */
164 domid_t domid; 164 domid_t domid;
165 165
166 /* Number of pages to go through for gmfn_range */
167 uint16_t size;
168
166 /* Source mapping space. */ 169 /* Source mapping space. */
167#define XENMAPSPACE_shared_info 0 /* shared info page */ 170#define XENMAPSPACE_shared_info 0 /* shared info page */
168#define XENMAPSPACE_grant_table 1 /* grant table page */ 171#define XENMAPSPACE_grant_table 1 /* grant table page */
169 unsigned int space; 172 unsigned int space;
170 173
171 /* Index into source mapping space. */ 174 /* Index into source mapping space. */
172 unsigned long idx; 175 xen_ulong_t idx;
173 176
174 /* GPFN where the source mapping page should appear. */ 177 /* GPFN where the source mapping page should appear. */
175 unsigned long gpfn; 178 xen_pfn_t gpfn;
176}; 179};
177DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap); 180DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
178 181
179/* 182/*** REMOVED ***/
180 * Translates a list of domain-specific GPFNs into MFNs. Returns a -ve error 183/*#define XENMEM_translate_gpfn_list 8*/
181 * code on failure. This call only works for auto-translated guests.
182 */
183#define XENMEM_translate_gpfn_list 8
184struct xen_translate_gpfn_list {
185 /* Which domain to translate for? */
186 domid_t domid;
187
188 /* Length of list. */
189 unsigned long nr_gpfns;
190
191 /* List of GPFNs to translate. */
192 GUEST_HANDLE(ulong) gpfn_list;
193
194 /*
195 * Output list to contain MFN translations. May be the same as the input
196 * list (in which case each input GPFN is overwritten with the output MFN).
197 */
198 GUEST_HANDLE(ulong) mfn_list;
199};
200DEFINE_GUEST_HANDLE_STRUCT(xen_translate_gpfn_list);
201 184
202/* 185/*
203 * Returns the pseudo-physical memory map as it was when the domain 186 * Returns the pseudo-physical memory map as it was when the domain
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
index 9ce788d8cf49..1844d31f4552 100644
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -56,7 +56,7 @@ struct physdev_eoi {
56#define PHYSDEVOP_pirq_eoi_gmfn_v2 28 56#define PHYSDEVOP_pirq_eoi_gmfn_v2 28
57struct physdev_pirq_eoi_gmfn { 57struct physdev_pirq_eoi_gmfn {
58 /* IN */ 58 /* IN */
59 unsigned long gmfn; 59 xen_ulong_t gmfn;
60}; 60};
61 61
62/* 62/*
@@ -258,6 +258,22 @@ struct physdev_pci_device {
258 uint8_t devfn; 258 uint8_t devfn;
259}; 259};
260 260
261#define PHYSDEVOP_DBGP_RESET_PREPARE 1
262#define PHYSDEVOP_DBGP_RESET_DONE 2
263
264#define PHYSDEVOP_DBGP_BUS_UNKNOWN 0
265#define PHYSDEVOP_DBGP_BUS_PCI 1
266
267#define PHYSDEVOP_dbgp_op 29
268struct physdev_dbgp_op {
269 /* IN */
270 uint8_t op;
271 uint8_t bus;
272 union {
273 struct physdev_pci_device pci;
274 } u;
275};
276
261/* 277/*
262 * Notify that some PIRQ-bound event channels have been unmasked. 278 * Notify that some PIRQ-bound event channels have been unmasked.
263 * ** This command is obsolete since interface version 0x00030202 and is ** 279 * ** This command is obsolete since interface version 0x00030202 and is **
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 61fa66160983..4755b5fac9c7 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -27,7 +27,7 @@
27#ifndef __XEN_PUBLIC_PLATFORM_H__ 27#ifndef __XEN_PUBLIC_PLATFORM_H__
28#define __XEN_PUBLIC_PLATFORM_H__ 28#define __XEN_PUBLIC_PLATFORM_H__
29 29
30#include "xen.h" 30#include <xen/interface/xen.h>
31 31
32#define XENPF_INTERFACE_VERSION 0x03000001 32#define XENPF_INTERFACE_VERSION 0x03000001
33 33
@@ -54,7 +54,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_settime_t);
54#define XENPF_add_memtype 31 54#define XENPF_add_memtype 31
55struct xenpf_add_memtype { 55struct xenpf_add_memtype {
56 /* IN variables. */ 56 /* IN variables. */
57 unsigned long mfn; 57 xen_pfn_t mfn;
58 uint64_t nr_mfns; 58 uint64_t nr_mfns;
59 uint32_t type; 59 uint32_t type;
60 /* OUT variables. */ 60 /* OUT variables. */
@@ -84,7 +84,7 @@ struct xenpf_read_memtype {
84 /* IN variables. */ 84 /* IN variables. */
85 uint32_t reg; 85 uint32_t reg;
86 /* OUT variables. */ 86 /* OUT variables. */
87 unsigned long mfn; 87 xen_pfn_t mfn;
88 uint64_t nr_mfns; 88 uint64_t nr_mfns;
89 uint32_t type; 89 uint32_t type;
90}; 90};
@@ -112,6 +112,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_platform_quirk_t);
112#define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */ 112#define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */
113#define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */ 113#define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */
114#define XEN_FW_VBEDDC_INFO 3 /* from int 10 AX=4f15 */ 114#define XEN_FW_VBEDDC_INFO 3 /* from int 10 AX=4f15 */
115#define XEN_FW_KBD_SHIFT_FLAGS 5 /* Int16, Fn02: Get keyboard shift flags. */
115struct xenpf_firmware_info { 116struct xenpf_firmware_info {
116 /* IN variables. */ 117 /* IN variables. */
117 uint32_t type; 118 uint32_t type;
@@ -142,6 +143,8 @@ struct xenpf_firmware_info {
142 /* must refer to 128-byte buffer */ 143 /* must refer to 128-byte buffer */
143 GUEST_HANDLE(uchar) edid; 144 GUEST_HANDLE(uchar) edid;
144 } vbeddc_info; /* XEN_FW_VBEDDC_INFO */ 145 } vbeddc_info; /* XEN_FW_VBEDDC_INFO */
146
147 uint8_t kbd_shift_flags; /* XEN_FW_KBD_SHIFT_FLAGS */
145 } u; 148 } u;
146}; 149};
147DEFINE_GUEST_HANDLE_STRUCT(xenpf_firmware_info_t); 150DEFINE_GUEST_HANDLE_STRUCT(xenpf_firmware_info_t);
diff --git a/include/xen/interface/sched.h b/include/xen/interface/sched.h
index dd55dac340de..9ce083960a25 100644
--- a/include/xen/interface/sched.h
+++ b/include/xen/interface/sched.h
@@ -9,7 +9,7 @@
9#ifndef __XEN_PUBLIC_SCHED_H__ 9#ifndef __XEN_PUBLIC_SCHED_H__
10#define __XEN_PUBLIC_SCHED_H__ 10#define __XEN_PUBLIC_SCHED_H__
11 11
12#include "event_channel.h" 12#include <xen/interface/event_channel.h>
13 13
14/* 14/*
15 * The prototype for this hypercall is: 15 * The prototype for this hypercall is:
diff --git a/include/xen/interface/version.h b/include/xen/interface/version.h
index e8b6519d47e9..7ff6498679a3 100644
--- a/include/xen/interface/version.h
+++ b/include/xen/interface/version.h
@@ -45,7 +45,7 @@ struct xen_changeset_info {
45 45
46#define XENVER_platform_parameters 5 46#define XENVER_platform_parameters 5
47struct xen_platform_parameters { 47struct xen_platform_parameters {
48 unsigned long virt_start; 48 xen_ulong_t virt_start;
49}; 49};
50 50
51#define XENVER_get_features 6 51#define XENVER_get_features 6
@@ -55,9 +55,12 @@ struct xen_feature_info {
55}; 55};
56 56
57/* Declares the features reported by XENVER_get_features. */ 57/* Declares the features reported by XENVER_get_features. */
58#include "features.h" 58#include <xen/interface/features.h>
59 59
60/* arg == NULL; returns host memory page size. */ 60/* arg == NULL; returns host memory page size. */
61#define XENVER_pagesize 7 61#define XENVER_pagesize 7
62 62
63/* arg == xen_domain_handle_t. */
64#define XENVER_guest_handle 8
65
63#endif /* __XEN_PUBLIC_VERSION_H__ */ 66#endif /* __XEN_PUBLIC_VERSION_H__ */
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index 0801468f9abe..886a5d80a18f 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -10,7 +10,6 @@
10#define __XEN_PUBLIC_XEN_H__ 10#define __XEN_PUBLIC_XEN_H__
11 11
12#include <asm/xen/interface.h> 12#include <asm/xen/interface.h>
13#include <asm/pvclock-abi.h>
14 13
15/* 14/*
16 * XEN "SYSTEM CALLS" (a.k.a. HYPERCALLS). 15 * XEN "SYSTEM CALLS" (a.k.a. HYPERCALLS).
@@ -190,7 +189,7 @@ struct mmuext_op {
190 unsigned int cmd; 189 unsigned int cmd;
191 union { 190 union {
192 /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */ 191 /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
193 unsigned long mfn; 192 xen_pfn_t mfn;
194 /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */ 193 /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
195 unsigned long linear_addr; 194 unsigned long linear_addr;
196 } arg1; 195 } arg1;
@@ -430,11 +429,11 @@ struct start_info {
430 unsigned long nr_pages; /* Total pages allocated to this domain. */ 429 unsigned long nr_pages; /* Total pages allocated to this domain. */
431 unsigned long shared_info; /* MACHINE address of shared info struct. */ 430 unsigned long shared_info; /* MACHINE address of shared info struct. */
432 uint32_t flags; /* SIF_xxx flags. */ 431 uint32_t flags; /* SIF_xxx flags. */
433 unsigned long store_mfn; /* MACHINE page number of shared page. */ 432 xen_pfn_t store_mfn; /* MACHINE page number of shared page. */
434 uint32_t store_evtchn; /* Event channel for store communication. */ 433 uint32_t store_evtchn; /* Event channel for store communication. */
435 union { 434 union {
436 struct { 435 struct {
437 unsigned long mfn; /* MACHINE page number of console page. */ 436 xen_pfn_t mfn; /* MACHINE page number of console page. */
438 uint32_t evtchn; /* Event channel for console page. */ 437 uint32_t evtchn; /* Event channel for console page. */
439 } domU; 438 } domU;
440 struct { 439 struct {
@@ -455,6 +454,7 @@ struct dom0_vga_console_info {
455 uint8_t video_type; 454 uint8_t video_type;
456#define XEN_VGATYPE_TEXT_MODE_3 0x03 455#define XEN_VGATYPE_TEXT_MODE_3 0x03
457#define XEN_VGATYPE_VESA_LFB 0x23 456#define XEN_VGATYPE_VESA_LFB 0x23
457#define XEN_VGATYPE_EFI_LFB 0x70
458 458
459 union { 459 union {
460 struct { 460 struct {