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

[Xen-changelog] [xen-unstable] [IA64] Avoid set cr.ivt when context switch if possible



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1192219002 21600
# Node ID 9c52742f7734c10fcddb8e27332ec40081172a16
# Parent  e71c7789c2f52473e882dccb038c347cf626b6c6
[IA64] Avoid set cr.ivt when context switch if possible

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/domain.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff -r e71c7789c2f5 -r 9c52742f7734 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Fri Oct 12 13:52:30 2007 -0600
+++ b/xen/arch/ia64/xen/domain.c        Fri Oct 12 13:56:42 2007 -0600
@@ -206,7 +206,8 @@ void schedule_tail(struct vcpu *prev)
                migrate_timer(&current->arch.arch_vmx.vtm.vtm_timer,
                              current->processor);
        } else {
-               ia64_set_iva(&ia64_ivt);
+               if (VMX_DOMAIN(prev))
+                       ia64_set_iva(&ia64_ivt);
                load_region_regs(current);
                ia64_set_pta(vcpu_pta(current));
                vcpu_load_kernel_regs(current);
@@ -259,7 +260,8 @@ void context_switch(struct vcpu *prev, s
         struct domain *nd;
         extern char ia64_ivt;
 
-        ia64_set_iva(&ia64_ivt);
+        if (VMX_DOMAIN(prev))
+            ia64_set_iva(&ia64_ivt);
 
         nd = current->domain;
         if (!is_idle_domain(nd)) {
@@ -911,7 +913,7 @@ int arch_set_info_guest(struct vcpu *v, 
                                     tr->dtrs[i].rid);
                }
                v->arch.event_callback_ip = c.nat->event_callback_ip;
-               v->arch.iva = c.nat->regs.cr.iva;
+               vcpu_set_iva(v, c.nat->regs.cr.iva);
        }
 
        return 0;

_______________________________________________
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®.