|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [PATCH 3/23] avoid set cr.ivt when context switch if po
# 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(¤t->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;
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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-ia64-devel] [PATCH 3/23] avoid set cr.ivt when context switch if possible,
Isaku Yamahata <=
|
|
|
|
|