[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Fix save/restore bug



# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1171300237 25200
# Node ID 8bdbe88e422f85f14e1451e6cfc7e8aa2da6a1c8
# Parent  5982d478698fd97099635feef97531d60ed6f0ae
[IA64] Fix save/restore bug

DCR.dm fix, in case v->arch.privregs is NULL

Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>
---
 xen/arch/ia64/linux-xen/setup.c |    3 +--
 xen/arch/ia64/xen/domain.c      |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff -r 5982d478698f -r 8bdbe88e422f xen/arch/ia64/linux-xen/setup.c
--- a/xen/arch/ia64/linux-xen/setup.c   Mon Feb 12 10:06:46 2007 -0700
+++ b/xen/arch/ia64/linux-xen/setup.c   Mon Feb 12 10:10:37 2007 -0700
@@ -862,8 +862,7 @@ cpu_init (void)
         * be fine).
         */
 #ifdef XEN
-       ia64_setreg(_IA64_REG_CR_DCR,  (  IA64_DCR_DP | IA64_DCR_DK | 
IA64_DCR_DX | IA64_DCR_DR
-                         | IA64_DCR_PP | IA64_DCR_DA | IA64_DCR_DD | 
IA64_DCR_LC));
+       ia64_setreg(_IA64_REG_CR_DCR, IA64_DEFAULT_DCR_BITS);
 #else
        ia64_setreg(_IA64_REG_CR_DCR,  (  IA64_DCR_DP | IA64_DCR_DK | 
IA64_DCR_DX | IA64_DCR_DR
                                        | IA64_DCR_DA | IA64_DCR_DD | 
IA64_DCR_LC));
diff -r 5982d478698f -r 8bdbe88e422f xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Mon Feb 12 10:06:46 2007 -0700
+++ b/xen/arch/ia64/xen/domain.c        Mon Feb 12 10:10:37 2007 -0700
@@ -581,7 +581,7 @@ void arch_get_info_guest(struct vcpu *v,
                er->dtrs[i].rid = v->arch.dtrs[i].rid;
        }
        er->event_callback_ip = v->arch.event_callback_ip;
-       er->dcr = PSCB(v,dcr);
+       er->dcr = v->arch.privregs ? PSCB(v,dcr) : 0;
        er->iva = v->arch.iva;
 }
 
@@ -617,7 +617,6 @@ int arch_set_info_guest(struct vcpu *v, 
                                     er->dtrs[i].rid);
                }
                v->arch.event_callback_ip = er->event_callback_ip;
-               PSCB(v,dcr) = er->dcr;
                v->arch.iva = er->iva;
        }
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.