Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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 <borntraeger@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20230627074703.99608-3-thuth@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
huth committed Jun 29, 2023
1 parent f52420f commit 74fe98e
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion pc-bios/s390-ccw/start.S
Expand Up @@ -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
Expand Down

0 comments on commit 74fe98e

Please sign in to comment.