# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID d80e38e4b31df04cc33f5df25a1f5c5c87f7943f
# Parent b513fd51f850b1e1a9428351d34974de37b078fa
Native x86_64 linux uses paranoidentry for exceptions with ist !=3D 0,
while x86_64 xenlinux doesn't have special stacks for these exceptions.
Actually we don't need paranoidentry for x86_64 xenlinux, and these
exceptions except #DB should be handled in hypervisor. With this patch,
#DB is forwarded to guest, and let it use zeroentry should be OK.
-Xin
Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
diff -r b513fd51f850 -r d80e38e4b31d
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/entry.S
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/entry.S Tue Jul 12
16:21:23 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/entry.S Tue Jul 12
16:50:38 2005
@@ -582,6 +582,7 @@
jmp error_entry
.endm
+#if 0
/* error code is on the stack already */
/* handle NMI like exceptions that can happen everywhere */
.macro paranoidentry sym
@@ -603,6 +604,7 @@
call \sym
cli
.endm
+#endif
/*
* Exception entry point. This expects an error code/orig_rax on the stack
@@ -923,10 +925,10 @@
/* runs on exception stack */
ENTRY(debug)
CFI_STARTPROC
- pushq $0
- CFI_ADJUST_CFA_OFFSET 8
- paranoidentry do_debug
- jmp paranoid_exit
+/* pushq $0
+ CFI_ADJUST_CFA_OFFSET 8 */
+ zeroentry do_debug
+/* jmp paranoid_exit */
CFI_ENDPROC
#if 0
@@ -945,7 +947,6 @@
* cannot get reschedule ticks.
*/
/* ebx: no swapgs flag */
-#endif
paranoid_exit:
testl %ebx,%ebx /* swapgs needed? */
jnz paranoid_restore
@@ -991,6 +992,7 @@
cli
jmp paranoid_userspace
CFI_ENDPROC
+#endif
ENTRY(int3)
zeroentry do_int3
@@ -1010,12 +1012,14 @@
ENTRY(reserved)
zeroentry do_reserved
+#if 0
/* runs on exception stack */
ENTRY(double_fault)
CFI_STARTPROC
paranoidentry do_double_fault
jmp paranoid_exit
CFI_ENDPROC
+#endif
ENTRY(invalid_TSS)
errorentry do_invalid_TSS
@@ -1026,8 +1030,7 @@
/* runs on exception stack */
ENTRY(stack_segment)
CFI_STARTPROC
- paranoidentry do_stack_segment
- jmp paranoid_exit
+ errorentry do_stack_segment
CFI_ENDPROC
ENTRY(general_protection)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|