WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Native x86_64 linux uses paranoidentry for exceptions wi

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Native x86_64 linux uses paranoidentry for exceptions with ist !=3D 0,
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 12 Jul 2005 12:50:09 -0400
Delivery-date: Tue, 12 Jul 2005 16:50:32 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Native x86_64 linux uses paranoidentry for exceptions with ist !=3D 0,, Xen patchbot -unstable <=