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

[Xen-changelog] [linux-2.6.18-xen] [IA64] Update interface files to match RBS in vcpu_guest_context_regs



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1181932620 21600
# Node ID f59e6fad7c506dbb5103f059143877c60782b640
# Parent  452c5d4a55370c3c3a6cb6740b45be911ca3741e
[IA64] Update interface files to match RBS in vcpu_guest_context_regs

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 include/xen/interface/arch-ia64.h            |   22 +++++++++++-----------
 include/xen/interface/foreign/reference.size |    4 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)

diff -r 452c5d4a5537 -r f59e6fad7c50 include/xen/interface/arch-ia64.h
--- a/include/xen/interface/arch-ia64.h Fri Jun 15 09:09:49 2007 -0600
+++ b/include/xen/interface/arch-ia64.h Fri Jun 15 12:37:00 2007 -0600
@@ -451,7 +451,8 @@ struct vcpu_guest_context_regs {
         unsigned long psr;
         unsigned long cfm;
         unsigned long pr;
-        unsigned long nats; /* NaT bits for r1-r31.  */
+        unsigned int nats; /* NaT bits for r1-r31.  */
+        unsigned int bnats; /* Nat bits for banked registers.  */
         union vcpu_ar_regs ar;
         union vcpu_cr_regs cr;
         struct pt_fpreg f[128];
@@ -469,18 +470,17 @@ struct vcpu_guest_context_regs {
 
         struct vcpu_tr_regs tr;
 
-#if 0
-       /*
-        * The vcpu_guest_context structure is allocated on the stack in
-        * a few places.  With this array for RBS storage, that structure
-        * is a bit over 21k.  It looks like maybe we're blowing the stack
-        * and causing rather random looking failures on a couple systems.
-        * Remove since we're not actually using it for now.
-        */
-
+        /*
+         * The rbs is intended to be the image of the stacked registers still
+         * in the cpu (not yet stored in memory).  It is laid out as if it
+         * were written in memory at an 512 (64*8) * aligned address + offset.
+         * The offset is IA64_RBS_OFFSET % 512.
+         * rbs_nat contains NaT bits for the remaining rbs registers.
+         */
         /* Note: loadrs is 2**14 bytes == 2**11 slots.  */
+#define IA64_GUEST_CONTEXT_RBS_OFFSET 448
         unsigned long rbs[2048];
-#endif
+        unsigned long rbs_nat;
 };
 
 struct vcpu_guest_context {
diff -r 452c5d4a5537 -r f59e6fad7c50 
include/xen/interface/foreign/reference.size
--- a/include/xen/interface/foreign/reference.size      Fri Jun 15 09:09:49 
2007 -0600
+++ b/include/xen/interface/foreign/reference.size      Fri Jun 15 12:37:00 
2007 -0600
@@ -8,8 +8,8 @@ xen_ia64_boot_param       |       -     
 xen_ia64_boot_param       |       -       -      96
 ia64_tr_entry             |       -       -      32
 vcpu_tr_regs              |       -       -     512
-vcpu_guest_context_regs   |       -       -    5488
-vcpu_guest_context        |    2800    5168    5520
+vcpu_guest_context_regs   |       -       -   21872
+vcpu_guest_context        |    2800    5168   21904
 arch_vcpu_info            |      24      16       0
 vcpu_time_info            |      32      32      32
 vcpu_info                 |      64      64      48

_______________________________________________
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®.