|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Fix HVM boot failure
# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1181142830 21600
# Node ID 2fd72ec88a9afa1af005b261d835ef8b42bbb5e8
# Parent 9daa40cae3d6548f404bcfd4300e604185db6b64
[IA64] Fix HVM boot failure
HVM sometimes fails to boot with the message
"Guest nested fault vector=0x5400!".
The cause of this issue is that cr.ifs never be initialized in very
first context switching. To optimize hypercall on HVM, cr.ifs is only
set with the predicate pNonSys(pr5)=1.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
---
xen/arch/ia64/vmx/vmx_init.c | 6 ++++++
1 files changed, 6 insertions(+)
diff -r 9daa40cae3d6 -r 2fd72ec88a9a xen/arch/ia64/vmx/vmx_init.c
--- a/xen/arch/ia64/vmx/vmx_init.c Wed Jun 06 09:10:52 2007 -0600
+++ b/xen/arch/ia64/vmx/vmx_init.c Wed Jun 06 09:13:50 2007 -0600
@@ -51,6 +51,7 @@
#include <asm/viosapic.h>
#include <xen/event.h>
#include <asm/vlsapic.h>
+#include "entry.h"
/* Global flag to identify whether Intel vmx feature is on */
u32 vmx_enabled = 0;
@@ -296,6 +297,7 @@ vmx_final_setup_guest(struct vcpu *v)
{
vpd_t *vpd;
int rc;
+ struct switch_stack *sw;
vpd = alloc_vpd();
ASSERT(vpd);
@@ -331,6 +333,10 @@ vmx_final_setup_guest(struct vcpu *v)
/* Set up guest 's indicator for VTi domain*/
set_bit(ARCH_VMX_DOMAIN, &v->arch.arch_vmx.flags);
+ /* Initialize pNonSys=1 for the first context switching */
+ sw = (struct switch_stack *)vcpu_regs(v) - 1;
+ sw->pr = (1UL << PRED_NON_SYSCALL);
+
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] Fix HVM boot failure,
Xen patchbot-unstable <=
|
|
|
|
|