aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch/x86/x86_64.S
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-11-23 16:22:13 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-11-23 16:22:13 +0000
commit8d71c3dfb8f23ff68a03e6640cc4a8c40d25ea99 (patch)
tree6297d0de7047c4152d16f56c811f7c9028e5cc4c /extras/mini-os/arch/x86/x86_64.S
parent255c12e851df35eded674926ee558484587ebff9 (diff)
downloadxen-8d71c3dfb8f23ff68a03e6640cc4a8c40d25ea99.tar.gz
xen-8d71c3dfb8f23ff68a03e6640cc4a8c40d25ea99.tar.bz2
xen-8d71c3dfb8f23ff68a03e6640cc4a8c40d25ea99.zip
[Mini-OS] Fix x86 initial stack alignment
This fixes the initial stack alignment for x86, which is required for current to return a fine NULL instead of a random value or possibly crash during initialization. Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk> Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
Diffstat (limited to 'extras/mini-os/arch/x86/x86_64.S')
-rw-r--r--extras/mini-os/arch/x86/x86_64.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/extras/mini-os/arch/x86/x86_64.S b/extras/mini-os/arch/x86/x86_64.S
index 2b621784ed..1b5e0f7b37 100644
--- a/extras/mini-os/arch/x86/x86_64.S
+++ b/extras/mini-os/arch/x86/x86_64.S
@@ -18,11 +18,12 @@
_start:
cld
movq stack_start(%rip),%rsp
+ andq $(~(8192-1)), %rsp
movq %rsi,%rdi
call start_kernel
stack_start:
- .quad stack+8192
+ .quad stack+(2*8192)
/* Unpleasant -- the PTE that maps this page is actually overwritten */
/* to map the real shared-info page! :-) */