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

[Xen-changelog] [IA64] Fix domainU boot when VTi domainexists



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID a40e66748ee96d2120f84baccdf552c0d6e505fa
# Parent  2b6e531dab38da94fd07996e705ece6a3f7fabe3
[IA64] Fix domainU boot when VTi domainexists

This patch intends to fix domainU boot after VTi domain booted up.
Currently domainU can't boot after domain VTi booted up.The root
cause is when VTi domain exists, iva register points to ivt which 
belongs to VTi domain but different to domU. After DomU createing
and being scheduled for fist time, context_switch won't  be executed
completely but through another execution path to leave kernel.
This will lead to LP's(run domU) iva and pta point to VTi domain's
ivt and pta.  So when DomainU boots, domain VTi and domainU will hang. 

Singed-off-by: Zhang xiantao <xiantao.zhang@xxxxxxxxx>
Singed-off-by: Kevin Tian   <kevin.tian@xxxxxxxxx>

diff -r 2b6e531dab38 -r a40e66748ee9 xen/arch/ia64/xen/process.c
--- a/xen/arch/ia64/xen/process.c       Thu Mar 30 09:55:26 2006 -0700
+++ b/xen/arch/ia64/xen/process.c       Thu Mar 30 12:40:24 2006 -0700
@@ -30,6 +30,7 @@
 #include <asm/vcpu.h>
 #include <asm/ia64_int.h>
 #include <asm/dom_fw.h>
+#include <asm/vhpt.h>
 #include "hpsim_ssc.h"
 #include <xen/multicall.h>
 #include <asm/debugger.h>
@@ -63,11 +64,15 @@ extern unsigned long dom0_start, dom0_si
 
 void schedule_tail(struct vcpu *prev)
 {
+       extern char ia64_ivt;
        context_saved(prev);
 
        if (VMX_DOMAIN(current)) {
                vmx_do_launch(current);
        } else {
+               ia64_set_iva(&ia64_ivt);
+               ia64_set_pta(VHPT_ADDR | (1 << 8) | (VHPT_SIZE_LOG2 << 2) |
+                       VHPT_ENABLED);
                load_region_regs(current);
                vcpu_load_kernel_regs(current);
        }

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