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-bugs

[Xen-bugs] [Bug 687] x86-64 Dom0 and DomU kernel crashes in page fault h

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 687] x86-64 Dom0 and DomU kernel crashes in page fault handler if alignment checking is enabled in eflags
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Fri, 14 Jul 2006 17:15:07 -0700
Delivery-date: Fri, 14 Jul 2006 17:16:09 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <bug-687-3@xxxxxxxxxxxxxxxxxxxxxxxxxxx/bugzilla/>
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=687


gareth@xxxxxxxxxxxxxx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gareth@xxxxxxxxxxxxxx




------- Comment #2 from gareth@xxxxxxxxxxxxxx  2006-07-14 17:15 -------
So one easy fix is to change a single asm file.  The file is
xen-3.0.2-2/linux-2.6-xen-sparse/arch/x86_64/kernel/entry-xen.S
and you insert three lines near the bottom of the error_entry function:
(obviously not including the <--- line bit)

...
/*
* Exception entry point. This expects an error code/orig_rax on the stack
* and the exception handler in %rax.
*/
ENTRY(error_entry)
        _frame RDI
        /* rdi slot contains rax, oldrax contains error code */
        cld
        subq  $14*8,%rsp
        CFI_ADJUST_CFA_OFFSET   (14*8)
        movq %rsi,13*8(%rsp)
        CFI_REL_OFFSET  rsi,RSI
        movq 14*8(%rsp),%rsi    /* load rax from rdi slot */
        movq %rdx,12*8(%rsp)
        CFI_REL_OFFSET  rdx,RDX
        movq %rcx,11*8(%rsp)
        CFI_REL_OFFSET  rcx,RCX
        movq %rsi,10*8(%rsp)    /* store rax */
        CFI_REL_OFFSET  rax,RAX
        movq %r8, 9*8(%rsp)
        CFI_REL_OFFSET  r8,R8
        movq %r9, 8*8(%rsp)
        CFI_REL_OFFSET  r9,R9
        movq %r10,7*8(%rsp)
        CFI_REL_OFFSET  r10,R10
        movq %r11,6*8(%rsp)
        CFI_REL_OFFSET  r11,R11
        movq %rbx,5*8(%rsp)
        CFI_REL_OFFSET  rbx,RBX
        movq %rbp,4*8(%rsp)
        CFI_REL_OFFSET  rbp,RBP
        movq %r12,3*8(%rsp)
        CFI_REL_OFFSET  r12,R12
        movq %r13,2*8(%rsp)
        CFI_REL_OFFSET  r13,R13
        movq %r14,1*8(%rsp)
        CFI_REL_OFFSET  r14,R14
        movq %r15,(%rsp)
        CFI_REL_OFFSET  r15,R15
#if 0
        cmpl $__KERNEL_CS,CS(%rsp)
        je  error_kernelspace
#endif
  pushf         <-- line 1
  andl $0xfffbffff, 0(%rsp)     <---- line 2
  popf   <--- line3
error_call_handler:
...


-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

_______________________________________________
Xen-bugs mailing list
Xen-bugs@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-bugs

<Prev in Thread] Current Thread [Next in Thread>