[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Native x86_64 linux uses paranoidentry for exceptions with ist !=3D 0,
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |