From: Thomas Huth Date: Tue, 27 Jun 2023 07:47:01 +0000 (+0200) Subject: pc-bios/s390-ccw: Provide space for initial stack frame in start.S X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=74fe98ee7fb3344dbd085d1fa32c0dc2fc2c831f;p=qemu.git pc-bios/s390-ccw: Provide space for initial stack frame in start.S Providing the space of a stack frame is the duty of the caller, so we should reserve 160 bytes before jumping into the main function. Otherwise the main() function might write past the stack array. While we're at it, add a proper STACK_SIZE macro for the stack size instead of using magic numbers (this is also required for the following patch). Reviewed-by: Christian Borntraeger Reviewed-by: Cédric Le Goater Message-Id: <20230627074703.99608-3-thuth@redhat.com> Reviewed-by: Eric Farman Reviewed-by: Claudio Imbrenda Reviewed-by: Marc Hartmayer Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Thomas Huth --- diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S index d29de09cc6..abd6fe6639 100644 --- a/pc-bios/s390-ccw/start.S +++ b/pc-bios/s390-ccw/start.S @@ -10,10 +10,13 @@ * directory. */ +#define STACK_SIZE 0x8000 +#define STACK_FRAME_SIZE 160 + .globl _start _start: - larl %r15,stack + 0x8000 /* Set up stack */ + larl %r15,stack + STACK_SIZE - STACK_FRAME_SIZE /* Set up stack */ /* clear bss */ larl %r2,__bss_start