direct-io.hg

changeset 6478:6b48b53b682d

When generating an exception frame for injection into a
guest, that frame's base should be aligned on a 16-byte
boundary (as is done by the hardware).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
author kaf24@firebug.cl.cam.ac.uk
date Tue Aug 30 16:53:40 2005 +0000 (2005-08-30)
parents 872e94f8eb69
children a66a41032226
files xen/arch/x86/x86_64/entry.S
line diff
     1.1 --- a/xen/arch/x86/x86_64/entry.S	Tue Aug 30 16:44:05 2005 +0000
     1.2 +++ b/xen/arch/x86/x86_64/entry.S	Tue Aug 30 16:53:40 2005 +0000
     1.3 @@ -339,7 +339,8 @@ create_bounce_frame:
     1.4  1:      /* In kernel context already: push new frame at existing %rsp. */
     1.5          movq  UREGS_rsp+8(%rsp),%rsi
     1.6          andb  $0xfc,UREGS_cs+8(%rsp)    # Indicate kernel context to guest.
     1.7 -2:      movq  $HYPERVISOR_VIRT_START,%rax
     1.8 +2:      andq  $~0xf,%rsi                # Stack frames are 16-byte aligned.
     1.9 +        movq  $HYPERVISOR_VIRT_START,%rax
    1.10          cmpq  %rax,%rsi
    1.11          jb    1f                        # In +ve address space? Then okay.
    1.12          movq  $HYPERVISOR_VIRT_END+60,%rax