# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID f2aff4e4236c57933ca9a8c632ef6a0cee15e564
# Parent 6755e3ab2eb1f4c2240f86d8ce7623ccfc045fe9
[IA64] bug fix in vmx_ivt
Reflect general exception.
break 0 is now handled by vmx_ia64_handle_break.
Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>
diff -r 6755e3ab2eb1 -r f2aff4e4236c xen/arch/ia64/vmx/vmx_ivt.S
--- a/xen/arch/ia64/vmx/vmx_ivt.S Thu Apr 13 13:41:59 2006 -0600
+++ b/xen/arch/ia64/vmx/vmx_ivt.S Thu Apr 13 13:46:50 2006 -0600
@@ -266,12 +266,12 @@ ENTRY(vmx_alt_itlb_miss)
mov r29=cr.ipsr;
;;
tbit.z p6,p7=r29,IA64_PSR_VM_BIT;
-(p7)br.sptk vmx_fault_3
+(p7)br.spnt vmx_fault_3
vmx_alt_itlb_miss_1:
mov r16=cr.ifa // get address that caused the TLB miss
;;
tbit.z p6,p7=r16,63
-(p6)br.sptk vmx_fault_3
+(p6)br.spnt vmx_fault_3
;;
movl r17=PAGE_KERNEL
mov r24=cr.ipsr
@@ -301,12 +301,12 @@ ENTRY(vmx_alt_dtlb_miss)
mov r29=cr.ipsr;
;;
tbit.z p6,p7=r29,IA64_PSR_VM_BIT;
-(p7)br.sptk vmx_fault_4
+(p7)br.spnt vmx_fault_4
vmx_alt_dtlb_miss_1:
mov r16=cr.ifa // get address that caused the TLB miss
;;
tbit.z p6,p7=r16,63
-(p6)br.sptk vmx_fault_4
+(p6)br.spnt vmx_fault_4
;;
movl r17=PAGE_KERNEL
mov r20=cr.isr
@@ -391,9 +391,12 @@ ENTRY(vmx_break_fault)
mov r30=cr.iim
movl r29=0x1100
;;
+#ifdef VTI_DEBUG
+ // break 0 is already handled in vmx_ia64_handle_break.
cmp.eq p6,p7=r30,r0
(p6) br.sptk vmx_fault_11
;;
+#endif
cmp.eq p6,p7=r29,r30
(p6) br.dptk.few vmx_hypercall_dispatch
(p7) br.sptk.many vmx_dispatch_break_fault
@@ -640,8 +643,8 @@ END(vmx_daccess_rights)
// 0x5400 Entry 24 (size 16 bundles) General Exception (5,32,34,36,38,39)
ENTRY(vmx_general_exception)
VMX_DBG_FAULT(24)
- VMX_FAULT(24)
-// VMX_REFLECT(24)
+ VMX_REFLECT(24)
+// VMX_FAULT(24)
END(vmx_general_exception)
.org vmx_ia64_ivt+0x5500
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|