arch/x86/boot/main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
Use current_stack_pointer to avoid asm() in the calculation of
stack_end in init_heap(). The new code is more readable and
results in exactly the same object file.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
---
arch/x86/boot/main.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c
index 9049f390d834..ac78f8c01908 100644
--- a/arch/x86/boot/main.c
+++ b/arch/x86/boot/main.c
@@ -119,9 +119,8 @@ static void init_heap(void)
char *stack_end;
if (boot_params.hdr.loadflags & CAN_USE_HEAP) {
- asm("leal %n1(%%esp),%0"
- : "=r" (stack_end) : "i" (STACK_SIZE));
-
+ stack_end = (char *)
+ (current_stack_pointer - STACK_SIZE);
heap_end = (char *)
((size_t)boot_params.hdr.heap_end_ptr + 0x200);
if (heap_end > stack_end)
--
2.45.1
The following commit has been merged into the x86/boot branch of tip:
Commit-ID: b855cc58fc93c175fd5bb868d5e3a45cb3e1a42b
Gitweb: https://git.kernel.org/tip/b855cc58fc93c175fd5bb868d5e3a45cb3e1a42b
Author: Uros Bizjak <ubizjak@gmail.com>
AuthorDate: Mon, 20 May 2024 10:29:55 +02:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Tue, 21 May 2024 13:36:36 +02:00
x86/boot: Use current_stack_pointer to avoid asm() in init_heap()
Use current_stack_pointer to avoid asm() in the calculation of
stack_end in init_heap(). The new code is more readable and
results in exactly the same object file.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20240520083011.135342-1-ubizjak@gmail.com
---
arch/x86/boot/main.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c
index 9049f39..ac78f8c 100644
--- a/arch/x86/boot/main.c
+++ b/arch/x86/boot/main.c
@@ -119,9 +119,8 @@ static void init_heap(void)
char *stack_end;
if (boot_params.hdr.loadflags & CAN_USE_HEAP) {
- asm("leal %n1(%%esp),%0"
- : "=r" (stack_end) : "i" (STACK_SIZE));
-
+ stack_end = (char *)
+ (current_stack_pointer - STACK_SIZE);
heap_end = (char *)
((size_t)boot_params.hdr.heap_end_ptr + 0x200);
if (heap_end > stack_end)
© 2016 - 2026 Red Hat, Inc.