|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Avoid set cr.ivt when context swit
# 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(¤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;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] Avoid set cr.ivt when context switch if possible,
Xen patchbot-unstable <=
|
|
|
|
|