qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 2/4] pc-bios/s390-ccw: Provide space for initial stack fra


From: Thomas Huth
Subject: Re: [PATCH v2 2/4] pc-bios/s390-ccw: Provide space for initial stack frame in start.S
Date: Tue, 27 Jun 2023 13:55:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

On 27/06/2023 11.14, Philippe Mathieu-Daudé wrote:
On 27/6/23 10:26, Marc Hartmayer wrote:
Thomas Huth <thuth@redhat.com> writes:

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>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
  pc-bios/s390-ccw/start.S | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)


+#define STACK_SIZE 0x8000
+
      .globl _start
  _start:
-    larl    %r15,stack + 0x8000     /* Set up stack */
+    larl    %r15,stack + STACK_SIZE - 160   /* Set up stack */
                                          ^^^
                                          You can also add a macro for this
                                          - e.g. STACK_FRAME_SIZE.

Yes please :) No need to respin.

Ok, I'll add:

diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S
--- a/pc-bios/s390-ccw/start.S
+++ b/pc-bios/s390-ccw/start.S
@@ -10,12 +10,13 @@
  * directory.
  */
-#define STACK_SIZE 0x8000
+#define STACK_SIZE        0x8000
+#define STACK_FRAME_SIZE  160
.globl _start
 _start:
- larl %r15,stack + STACK_SIZE - 160 /* Set up stack */
+    larl    %r15,stack + STACK_SIZE - STACK_FRAME_SIZE   /* Set up stack */
/* clear bss */
     larl    %r2,.bss

Thanks,
 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]