# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 986538da9be011ecceadbd400ef880e90254c798
# Parent b579cf0ad753a6c5d599bd17d43a9a5a888276b6
[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@xxxxxxxxx>
diff -r b579cf0ad753 -r 986538da9be0 xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c Wed Mar 29 12:40:01 2006 -0700
+++ b/xen/arch/ia64/xen/vcpu.c Wed Mar 29 12:41:33 2006 -0700
@@ -172,10 +172,10 @@ void vcpu_set_metaphysical_mode(VCPU *vc
{
/* only do something if mode changes */
if (!!newmode ^ !!PSCB(vcpu,metaphysical_mode)) {
+ PSCB(vcpu,metaphysical_mode) = newmode;
if (newmode) set_metaphysical_rr0();
else if (PSCB(vcpu,rrs[0]) != -1)
set_one_rr(0, PSCB(vcpu,rrs[0]));
- PSCB(vcpu,metaphysical_mode) = newmode;
}
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|