diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-06-25 07:14:52 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-06-25 08:20:46 -0400 |
commit | 4108903c9df13e5b25bcfa7be11a9fbc83c94b82 (patch) | |
tree | a7be9bdc58543d449bb11c39d79509bd7d259678 | |
parent | f8203b59c7b20154ff08e90fca438f8939fca4bf (diff) | |
download | kvm-unit-tests-4108903c9df13e5b25bcfa7be11a9fbc83c94b82.tar.gz |
x86: fix stack pointer after call
Since setup_multiboot has a C calling convention, the stack pointer must
be adjusted after the call. Without this change, the bottom of the
percpu area would be 4 bytes below the bottom of the stack and overlap
the top 4 bytes of CPU 1's stack.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | x86/cstart.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/x86/cstart.S b/x86/cstart.S index a3c7931..1714986 100644 --- a/x86/cstart.S +++ b/x86/cstart.S @@ -112,6 +112,7 @@ start: mov $stacktop, %esp push %ebx call setup_multiboot + addl $4, %esp call setup_libcflat mov mb_cmdline(%ebx), %eax mov %eax, __args |