# HG changeset patch # User gingold@virtu10 # Node ID 2efaa074882a4811f3bf6486d55ad49555d07971 # Parent 6ed51daca179eeb378d82d21ab47498a36dd4476 Remove dcr field of arch_vcpu, use dcr field of privregs instead. Do not force dcr bit 63. Signed-off-by: Tristan Gingold diff -r 6ed51daca179 -r 2efaa074882a xen/arch/ia64/xen/vcpu.c --- a/xen/arch/ia64/xen/vcpu.c Tue Jun 13 13:07:28 2006 +0200 +++ b/xen/arch/ia64/xen/vcpu.c Tue Jun 13 14:19:11 2006 +0200 @@ -426,7 +426,7 @@ BOOLEAN vcpu_get_psr_i(VCPU *vcpu) UINT64 vcpu_get_ipsr_int_state(VCPU *vcpu,UINT64 prevpsr) { - UINT64 dcr = PSCBX(vcpu,dcr); + UINT64 dcr = PSCB(vcpu,dcr); PSR psr; //printf("*** vcpu_get_ipsr_int_state (0x%016lx)...\n",prevpsr); @@ -449,12 +449,7 @@ UINT64 vcpu_get_ipsr_int_state(VCPU *vcp IA64FAULT vcpu_get_dcr(VCPU *vcpu, UINT64 *pval) { -//extern unsigned long privop_trace; -//privop_trace=0; -//verbose("vcpu_get_dcr: called @%p\n",PSCB(vcpu,iip)); - // Reads of cr.dcr on Xen always have the sign bit set, so - // a domain can differentiate whether it is running on SP or not - *pval = PSCBX(vcpu,dcr) | 0x8000000000000000L; + *pval = PSCB(vcpu,dcr); return (IA64_NO_FAULT); } @@ -577,13 +572,7 @@ IA64FAULT vcpu_get_iha(VCPU *vcpu, UINT6 IA64FAULT vcpu_set_dcr(VCPU *vcpu, UINT64 val) { -//extern unsigned long privop_trace; -//privop_trace=1; - // Reads of cr.dcr on SP always have the sign bit set, so - // a domain can differentiate whether it is running on SP or not - // Thus, writes of DCR should ignore the sign bit -//verbose("vcpu_set_dcr: called\n"); - PSCBX(vcpu,dcr) = val & ~0x8000000000000000L; + PSCB(vcpu,dcr) = val; return (IA64_NO_FAULT); } diff -r 6ed51daca179 -r 2efaa074882a xen/include/asm-ia64/domain.h --- a/xen/include/asm-ia64/domain.h Tue Jun 13 13:07:28 2006 +0200 +++ b/xen/include/asm-ia64/domain.h Tue Jun 13 14:19:11 2006 +0200 @@ -114,7 +114,6 @@ struct arch_vcpu { unsigned long irr[4]; /* Interrupt request register. */ unsigned long insvc[4]; /* Interrupt in service. */ unsigned long iva; - unsigned long dcr; unsigned long domain_itm; unsigned long domain_itm_last;