aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/interface
diff options
context:
space:
mode:
Diffstat (limited to 'include/xen/interface')
-rw-r--r--include/xen/interface/memory.h6
-rw-r--r--include/xen/interface/platform.h21
-rw-r--r--include/xen/interface/xen.h8
3 files changed, 27 insertions, 8 deletions
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index b40a4315cb8b..2ecfe4f700d9 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -190,6 +190,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
190 190
191#define XENMEM_add_to_physmap_range 23 191#define XENMEM_add_to_physmap_range 23
192struct xen_add_to_physmap_range { 192struct xen_add_to_physmap_range {
193 /* IN */
193 /* Which domain to change the mapping for. */ 194 /* Which domain to change the mapping for. */
194 domid_t domid; 195 domid_t domid;
195 uint16_t space; /* => enum phys_map_space */ 196 uint16_t space; /* => enum phys_map_space */
@@ -203,6 +204,11 @@ struct xen_add_to_physmap_range {
203 204
204 /* GPFN in domid where the source mapping page should appear. */ 205 /* GPFN in domid where the source mapping page should appear. */
205 GUEST_HANDLE(xen_pfn_t) gpfns; 206 GUEST_HANDLE(xen_pfn_t) gpfns;
207
208 /* OUT */
209
210 /* Per index error code. */
211 GUEST_HANDLE(int) errs;
206}; 212};
207DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap_range); 213DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap_range);
208 214
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 5e36932ab407..c57d5f67f702 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -324,10 +324,21 @@ struct xenpf_cpu_ol {
324}; 324};
325DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol); 325DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
326 326
327/* 327#define XENPF_cpu_hotadd 58
328 * CMD 58 and 59 are reserved for cpu hotadd and memory hotadd, 328struct xenpf_cpu_hotadd {
329 * which are already occupied at Xen hypervisor side. 329 uint32_t apic_id;
330 */ 330 uint32_t acpi_id;
331 uint32_t pxm;
332};
333
334#define XENPF_mem_hotadd 59
335struct xenpf_mem_hotadd {
336 uint64_t spfn;
337 uint64_t epfn;
338 uint32_t pxm;
339 uint32_t flags;
340};
341
331#define XENPF_core_parking 60 342#define XENPF_core_parking 60
332struct xenpf_core_parking { 343struct xenpf_core_parking {
333 /* IN variables */ 344 /* IN variables */
@@ -357,6 +368,8 @@ struct xen_platform_op {
357 struct xenpf_set_processor_pminfo set_pminfo; 368 struct xenpf_set_processor_pminfo set_pminfo;
358 struct xenpf_pcpuinfo pcpu_info; 369 struct xenpf_pcpuinfo pcpu_info;
359 struct xenpf_cpu_ol cpu_ol; 370 struct xenpf_cpu_ol cpu_ol;
371 struct xenpf_cpu_hotadd cpu_add;
372 struct xenpf_mem_hotadd mem_add;
360 struct xenpf_core_parking core_parking; 373 struct xenpf_core_parking core_parking;
361 uint8_t pad[128]; 374 uint8_t pad[128];
362 } u; 375 } u;
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index 886a5d80a18f..53ec4167bd0b 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -285,7 +285,7 @@ DEFINE_GUEST_HANDLE_STRUCT(multicall_entry);
285 * Event channel endpoints per domain: 285 * Event channel endpoints per domain:
286 * 1024 if a long is 32 bits; 4096 if a long is 64 bits. 286 * 1024 if a long is 32 bits; 4096 if a long is 64 bits.
287 */ 287 */
288#define NR_EVENT_CHANNELS (sizeof(unsigned long) * sizeof(unsigned long) * 64) 288#define NR_EVENT_CHANNELS (sizeof(xen_ulong_t) * sizeof(xen_ulong_t) * 64)
289 289
290struct vcpu_time_info { 290struct vcpu_time_info {
291 /* 291 /*
@@ -341,7 +341,7 @@ struct vcpu_info {
341 */ 341 */
342 uint8_t evtchn_upcall_pending; 342 uint8_t evtchn_upcall_pending;
343 uint8_t evtchn_upcall_mask; 343 uint8_t evtchn_upcall_mask;
344 unsigned long evtchn_pending_sel; 344 xen_ulong_t evtchn_pending_sel;
345 struct arch_vcpu_info arch; 345 struct arch_vcpu_info arch;
346 struct pvclock_vcpu_time_info time; 346 struct pvclock_vcpu_time_info time;
347}; /* 64 bytes (x86) */ 347}; /* 64 bytes (x86) */
@@ -384,8 +384,8 @@ struct shared_info {
384 * per-vcpu selector word to be set. Each bit in the selector covers a 384 * per-vcpu selector word to be set. Each bit in the selector covers a
385 * 'C long' in the PENDING bitfield array. 385 * 'C long' in the PENDING bitfield array.
386 */ 386 */
387 unsigned long evtchn_pending[sizeof(unsigned long) * 8]; 387 xen_ulong_t evtchn_pending[sizeof(xen_ulong_t) * 8];
388 unsigned long evtchn_mask[sizeof(unsigned long) * 8]; 388 xen_ulong_t evtchn_mask[sizeof(xen_ulong_t) * 8];
389 389
390 /* 390 /*
391 * Wallclock time: updated only by control software. Guests should base 391 * Wallclock time: updated only by control software. Guests should base