ia64/xen-unstable
changeset 5816:a64dae7a0344
Add emulation to rsm.be, which is first encounted in guest fast syscall
path, where little endian is forced just after epc.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
path, where little endian is forced just after epc.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
author | fred@localhost.localdomain |
---|---|
date | Thu Jul 28 01:26:30 2005 -0800 (2005-07-28) |
parents | 40bddfe9e390 |
children | 8fc64b82dd35 |
files | xen/arch/ia64/vcpu.c |
line diff
1.1 --- a/xen/arch/ia64/vcpu.c Thu Jul 28 00:57:06 2005 -0800 1.2 +++ b/xen/arch/ia64/vcpu.c Thu Jul 28 01:26:30 2005 -0800 1.3 @@ -155,7 +155,7 @@ IA64FAULT vcpu_reset_psr_sm(VCPU *vcpu, 1.4 // interrupt collection flag 1.5 //if (imm.ic) PSCB(vcpu,interrupt_delivery_enabled) = 0; 1.6 // just handle psr.up and psr.pp for now 1.7 - if (imm24 & ~(IA64_PSR_PP | IA64_PSR_UP | IA64_PSR_SP 1.8 + if (imm24 & ~(IA64_PSR_BE | IA64_PSR_PP | IA64_PSR_UP | IA64_PSR_SP 1.9 | IA64_PSR_I | IA64_PSR_IC | IA64_PSR_DT 1.10 | IA64_PSR_DFL | IA64_PSR_DFH)) 1.11 return (IA64_ILLOP_FAULT); 1.12 @@ -164,6 +164,7 @@ IA64FAULT vcpu_reset_psr_sm(VCPU *vcpu, 1.13 if (imm.pp) { ipsr->pp = 0; psr.pp = 0; } 1.14 if (imm.up) { ipsr->up = 0; psr.up = 0; } 1.15 if (imm.sp) { ipsr->sp = 0; psr.sp = 0; } 1.16 + if (imm.be) ipsr->be = 0; 1.17 if (imm.dt) vcpu_set_metaphysical_mode(vcpu,TRUE); 1.18 __asm__ __volatile (";; mov psr.l=%0;; srlz.d"::"r"(psr):"memory"); 1.19 return IA64_NO_FAULT;