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/
Home Products Support Community News


[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

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
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.
        _frame RDI
        /* rdi slot contains rax, oldrax contains error code */
        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
  pushf         <-- line 1
  andl $0xfffbffff, 0(%rsp)     <---- line 2
  popf   <--- line3

Configure bugmail: 
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Xen-bugs mailing list

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