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

[Xen-ia64-devel] [PATCH 3/23] avoid set cr.ivt when context switch if possible



# HG changeset patch
# User yamahata@xxxxxxxxxxxxx
# Date 1190275283 -32400
# Node ID e3a2d16b969f5684e545d5cfcb390f56e3a2b851
# Parent  54e29e0600f6e3e6e8e51b1388abf82d55244792
avoid set cr.ivt when context switch if possible
PATCHNAME: avoid_set_cr_ivt_when_context_switch

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff -r 54e29e0600f6 -r e3a2d16b969f xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Fri Sep 14 18:10:01 2007 +0900
+++ b/xen/arch/ia64/xen/domain.c        Thu Sep 20 17:01:23 2007 +0900
@@ -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;

Attachment: 16053_e3a2d16b969f_avoid_set_cr_ivt_when_context_switch.patch
Description: Text Data

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

 


Rackspace

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