diff options
Diffstat (limited to 'include/xen/interface')
-rw-r--r-- | include/xen/interface/memory.h | 6 | ||||
-rw-r--r-- | include/xen/interface/platform.h | 21 | ||||
-rw-r--r-- | include/xen/interface/xen.h | 8 |
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 |
192 | struct xen_add_to_physmap_range { | 192 | struct 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 | }; |
207 | DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap_range); | 213 | DEFINE_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 | }; |
325 | DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol); | 325 | DEFINE_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, | 328 | struct 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 | ||
335 | struct 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 |
332 | struct xenpf_core_parking { | 343 | struct 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 | ||
290 | struct vcpu_time_info { | 290 | struct 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 |