[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] xen, x86: get_phys_id hypercall interface change.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1205189587 0
# Node ID 3983b041fc5114e6599d482be2410b3f1d2cdb1e
# Parent  ba72914de93a6fb2c5fc80e7791dc3fdf82a7ed3
xen, x86: get_phys_id hypercall interface change.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 include/xen/interface/vcpu.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff -r ba72914de93a -r 3983b041fc51 include/xen/interface/vcpu.h
--- a/include/xen/interface/vcpu.h      Wed Mar 05 17:29:05 2008 +0000
+++ b/include/xen/interface/vcpu.h      Mon Mar 10 22:53:07 2008 +0000
@@ -185,8 +185,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_register_vc
 /* 
  * Get the physical ID information for a pinned vcpu's underlying physical
  * processor.  The physical ID informmation is architecture-specific.
- * On x86: id[7:0]=apic_id, id[15:8]=acpi_id, id[63:16]=mbz,
- *         and an unavailable identifier is returned as 0xff.
+ * On x86: id[31:0]=apic_id, id[63:32]=acpi_id, and all values 0xff and
+ *         greater are reserved.
  * This command returns -EINVAL if it is not a valid operation for this VCPU.
  */
 #define VCPUOP_get_physid           12 /* arg == vcpu_get_physid_t */
@@ -195,8 +195,10 @@ struct vcpu_get_physid {
 };
 typedef struct vcpu_get_physid vcpu_get_physid_t;
 DEFINE_XEN_GUEST_HANDLE(vcpu_get_physid_t);
-#define xen_vcpu_physid_to_x86_apicid(physid) ((uint8_t)((physid)>>0))
-#define xen_vcpu_physid_to_x86_acpiid(physid) ((uint8_t)((physid)>>8))
+#define xen_vcpu_physid_to_x86_apicid(physid) \
+    ((((uint32_t)(physid)) >= 0xff) ? 0xff : ((uint8_t)(physid)))
+#define xen_vcpu_physid_to_x86_acpiid(physid) \
+    ((((uint32_t)((physid)>>32)) >= 0xff) ? 0xff : ((uint8_t)((physid)>>32)))
 
 #endif /* __XEN_PUBLIC_VCPU_H__ */
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.