[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] x86-64 exception frame alignment



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@xxxxxxxxxx>

--- src/xen/2005-08-29/xen/arch/x86/x86_64/entry.S      2005-08-29
14:29:56.000000000 +0200
+++ cpp/xen/2005-08-29/xen/arch/x86/x86_64/entry.S      2005-08-29
17:17:40.304663936 +0200
@@ -339,6 +339,7 @@ create_bounce_frame:
 1:      /* In kernel context already: push new frame at existing %rsp.
*/
         movq  UREGS_rsp+8(%rsp),%rsi
         andb  $0xfc,UREGS_cs+8(%rsp)    # Indicate kernel context to
guest.
+        andq  $~0xf,%rsi                # Align frame like hardware
would.
 2:      movq  $HYPERVISOR_VIRT_START,%rax
         cmpq  %rax,%rsi
         jb    1f                        # In +ve address space? Then
okay.

Attachment: xen-x86_64-exception-frame-align.patch
Description: Binary data

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.