debuggers.hg
changeset 9806:986538da9be0
[IA64] set_metaphysical_mode fix
If the old mode is metaphysical mode and the new mode is
virtual mode. set_one_rr(0, PSCB(vcpu,rrs[0]) will not
set machine region register 0, because at this time,
PSCB(vcpu,metaphysical_mode) is 1, VMM need to update
metaphysical_mode first, then call set_one_rr.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
If the old mode is metaphysical mode and the new mode is
virtual mode. set_one_rr(0, PSCB(vcpu,rrs[0]) will not
set machine region register 0, because at this time,
PSCB(vcpu,metaphysical_mode) is 1, VMM need to update
metaphysical_mode first, then call set_one_rr.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
author | awilliam@xenbuild.aw |
---|---|
date | Wed Mar 29 12:41:33 2006 -0700 (2006-03-29) |
parents | b579cf0ad753 |
children | 2b6e531dab38 |
files | xen/arch/ia64/xen/vcpu.c |
line diff
1.1 --- a/xen/arch/ia64/xen/vcpu.c Wed Mar 29 12:40:01 2006 -0700 1.2 +++ b/xen/arch/ia64/xen/vcpu.c Wed Mar 29 12:41:33 2006 -0700 1.3 @@ -172,10 +172,10 @@ void vcpu_set_metaphysical_mode(VCPU *vc 1.4 { 1.5 /* only do something if mode changes */ 1.6 if (!!newmode ^ !!PSCB(vcpu,metaphysical_mode)) { 1.7 + PSCB(vcpu,metaphysical_mode) = newmode; 1.8 if (newmode) set_metaphysical_rr0(); 1.9 else if (PSCB(vcpu,rrs[0]) != -1) 1.10 set_one_rr(0, PSCB(vcpu,rrs[0])); 1.11 - PSCB(vcpu,metaphysical_mode) = newmode; 1.12 } 1.13 } 1.14