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

[Xen-changelog] [xen-unstable] [IA64] domheap: Don't refer domain->arch.rid_bits from optfaults.S



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1200596743 25200
# Node ID 4f1f9ee5013302ddc224625661a93a86b8c30223
# Parent  6f7e6608cb746188b4ed1635924186c656ffbf27
[IA64] domheap: Don't refer domain->arch.rid_bits from optfaults.S

Copy it to struct arch_vcpu.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/asm-offsets.c   |    2 +-
 xen/arch/ia64/vmx/optvfault.S |    4 +---
 xen/arch/ia64/xen/domain.c    |    1 +
 xen/include/asm-ia64/domain.h |    1 +
 4 files changed, 4 insertions(+), 4 deletions(-)

diff -r 6f7e6608cb74 -r 4f1f9ee50133 xen/arch/ia64/asm-offsets.c
--- a/xen/arch/ia64/asm-offsets.c       Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/asm-offsets.c       Thu Jan 17 12:05:43 2008 -0700
@@ -70,6 +70,7 @@ void foo(void)
        DEFINE(IA64_VCPU_INSVC3_OFFSET, offsetof (struct vcpu, arch.insvc[3]));
        DEFINE(IA64_VCPU_STARTING_RID_OFFSET, offsetof (struct vcpu, 
arch.starting_rid));
        DEFINE(IA64_VCPU_ENDING_RID_OFFSET, offsetof (struct vcpu, 
arch.ending_rid));
+       DEFINE(IA64_VCPU_RID_BITS_OFFSET, offsetof (struct vcpu, 
arch.rid_bits));
        DEFINE(IA64_VCPU_DOMAIN_ITM_OFFSET, offsetof (struct vcpu, 
arch.domain_itm));
        DEFINE(IA64_VCPU_DOMAIN_ITM_LAST_OFFSET, offsetof (struct vcpu, 
arch.domain_itm_last));
        DEFINE(IA64_VCPU_ITLB_OFFSET, offsetof (struct vcpu, arch.itlb));
@@ -79,7 +80,6 @@ void foo(void)
        BLANK();
 
        DEFINE(IA64_DOMAIN_SHADOW_BITMAP_OFFSET, offsetof (struct domain, 
arch.shadow_bitmap));
-       DEFINE(IA64_DOMAIN_RID_BITS_OFFSET, offsetof (struct domain, 
arch.rid_bits));
 
        BLANK();
 
diff -r 6f7e6608cb74 -r 4f1f9ee50133 xen/arch/ia64/vmx/optvfault.S
--- a/xen/arch/ia64/vmx/optvfault.S     Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/vmx/optvfault.S     Thu Jan 17 12:05:43 2008 -0700
@@ -95,11 +95,10 @@ GLOBAL_ENTRY(vmx_asm_mov_to_rr)
 #ifndef ACCE_MOV_TO_RR
     br.many vmx_virtualization_fault_back
 #endif
-    add r22=IA64_VCPU_DOMAIN_OFFSET,r21
+    add r22=IA64_VCPU_RID_BITS_OFFSET,r21
     extr.u r16=r25,20,7                // r3
     extr.u r17=r25,13,7                // r2
     ;;
-    ld8 r22=[r22]              // Get domain
     movl r20=asm_mov_from_reg
     ;;
     adds r30=vmx_asm_mov_to_rr_back_1-asm_mov_from_reg,r20
@@ -126,7 +125,6 @@ vmx_asm_mov_to_rr_back_2:
 vmx_asm_mov_to_rr_back_2: 
     adds r30=vmx_resume_to_guest-asm_mov_from_reg,r20
     shladd r27=r23,3,r27       // address of VRR
-    add r22=IA64_DOMAIN_RID_BITS_OFFSET,r22
     ;;
     ld1 r22=[r22]              // Load rid_bits from domain
     mov b0=r18                 // restore b0
diff -r 6f7e6608cb74 -r 4f1f9ee50133 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/xen/domain.c        Thu Jan 17 12:05:43 2008 -0700
@@ -466,6 +466,7 @@ int vcpu_initialise(struct vcpu *v)
 
            v->arch.starting_rid = d->arch.starting_rid;
            v->arch.ending_rid = d->arch.ending_rid;
+           v->arch.rid_bits = d->arch.rid_bits;
            v->arch.breakimm = d->arch.breakimm;
            v->arch.last_processor = INVALID_PROCESSOR;
            v->arch.vhpt_pg_shift = PAGE_SHIFT;
diff -r 6f7e6608cb74 -r 4f1f9ee50133 xen/include/asm-ia64/domain.h
--- a/xen/include/asm-ia64/domain.h     Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/include/asm-ia64/domain.h     Thu Jan 17 12:05:43 2008 -0700
@@ -262,6 +262,7 @@ struct arch_vcpu {
     int breakimm;                      // from arch_domain (so is pinned)
     int starting_rid;          /* first RID assigned to domain */
     int ending_rid;            /* one beyond highest RID assigned to domain */
+    unsigned char rid_bits;     // from arch_domain (so is pinned)
 
     /* Bitset for debug register use.  */
     unsigned int dbg_used;

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