WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-3.2-testing] x86: Reserve 32 bits for each of acpii

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.2-testing] x86: Reserve 32 bits for each of acpiid and apicid in new phys_id vcpu hypercall.
From: "Xen patchbot-3.2-testing" <patchbot-3.2-testing@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 20 Mar 2008 05:42:11 -0700
Delivery-date: Thu, 20 Mar 2008 05:49:34 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1206014792 0
# Node ID 42120250d67ade3f60d41d23c6fa69ce2eca4052
# Parent  9972eb777b605ee4dd6b42da2aee9032262fc1cf
x86: Reserve 32 bits for each of acpiid and apicid in new phys_id vcpu 
hypercall.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   17193:f33328217eee1a66bf2a874ff1a42b62c21e42bc
xen-unstable date:        Mon Mar 10 22:51:57 2008 +0000
---
 xen/arch/x86/domain.c     |    5 +++--
 xen/include/public/vcpu.h |   10 ++++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff -r 9972eb777b60 -r 42120250d67a xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Thu Mar 20 12:04:51 2008 +0000
+++ b/xen/arch/x86/domain.c     Thu Mar 20 12:06:32 2008 +0000
@@ -957,8 +957,9 @@ arch_do_vcpu_op(
         if ( !v->domain->is_pinned )
             break;
 
-        cpu_id.phys_id = (x86_cpu_to_apicid[v->vcpu_id] |
-                          (acpi_get_processor_id(v->vcpu_id) << 8));
+        cpu_id.phys_id =
+            (uint64_t)x86_cpu_to_apicid[v->vcpu_id] |
+            ((uint64_t)acpi_get_processor_id(v->vcpu_id) << 32);
 
         rc = -EFAULT;
         if ( copy_to_guest(arg, &cpu_id, 1) )
diff -r 9972eb777b60 -r 42120250d67a xen/include/public/vcpu.h
--- a/xen/include/public/vcpu.h Thu Mar 20 12:04:51 2008 +0000
+++ b/xen/include/public/vcpu.h Thu Mar 20 12:06:32 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.2-testing] x86: Reserve 32 bits for each of acpiid and apicid in new phys_id vcpu hypercall., Xen patchbot-3.2-testing <=