# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1198583581 -32400 # Node ID 7c7f9fd34531fb7e66e1ea26733370f4eb52085f # Parent 105c577732e610b2a20d44098aab17615e2e47d6 don't refer struct domain from GET_VA_VCPU_VHPT_MADDR() So far, current->domain->arch.flags.has_pervcpu_vhpt is used. Instead use current->arch.vhpt_page. PATCHNAME: mca_dont_refer_struct_domain Signed-off-by: Isaku Yamahata diff -r 105c577732e6 -r 7c7f9fd34531 xen/arch/ia64/asm-offsets.c --- a/xen/arch/ia64/asm-offsets.c Mon Jan 07 16:14:49 2008 +0900 +++ b/xen/arch/ia64/asm-offsets.c Tue Dec 25 20:53:01 2007 +0900 @@ -252,9 +252,8 @@ void foo(void) DEFINE(IA64_MCA_CPU_RBSTORE_OFFSET, offsetof(struct ia64_mca_cpu, rbstore)); - DEFINE(IA64_DOMAIN_FLAGS_OFFSET, - offsetof(struct domain, arch.flags)); - + DEFINE(IA64_VCPU_VHPT_PAGE_OFFSET, + offsetof(struct vcpu, arch.vhpt_page)); DEFINE(IA64_VCPU_VHPT_MADDR_OFFSET, offsetof(struct vcpu, arch.vhpt_maddr)); diff -r 105c577732e6 -r 7c7f9fd34531 xen/arch/ia64/linux-xen/mca_asm.S --- a/xen/arch/ia64/linux-xen/mca_asm.S Mon Jan 07 16:14:49 2008 +0900 +++ b/xen/arch/ia64/linux-xen/mca_asm.S Tue Dec 25 20:53:01 2007 +0900 @@ -196,13 +196,9 @@ 3: add r4 = r6, r3;; \ add reg=IA64_KR_CURRENT_OFFSET,reg;; \ ld8 reg=[reg];; \ dep tmp=0,reg,60,4;; /* V to P */ \ - add tmp=IA64_VCPU_DOMAIN_OFFSET,tmp;; \ + add tmp=IA64_VCPU_VHPT_PAGE_OFFSET,tmp;; \ ld8 tmp=[tmp];; \ - dep tmp=0,tmp,60,4;; /* V to P */ \ - add tmp=IA64_DOMAIN_FLAGS_OFFSET,tmp;; \ - ld8 tmp=[tmp];; \ - and tmp=HAS_PERVCPU_VHPT_MASK,tmp;; \ - cmp.eq p6,p0=tmp,r0; \ + cmp.eq p6,p0=tmp,r0; /* v->arch.vhpt_page == NULL */ \ (p6) br.cond.sptk 1f; \ add reg=IA64_VCPU_VHPT_MADDR_OFFSET,reg;; \ dep reg=0,reg,60,4;; /* V to P */ \