[coreboot] New patch to review for coreboot: f58d203 Don't do a call as the first instruction in libpayload.
Marc Jones (marcj303@gmail.com)
gerrit at coreboot.org
Fri Oct 7 00:52:19 CEST 2011
Marc Jones (marcj303 at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/240
-gerrit
commit f58d203a35b5a75feb3a17319a83d41385852a9f
Author: Marc Jones <marcj303 at gmail.com>
Date: Thu Oct 6 16:38:35 2011 -0600
Don't do a call as the first instruction in libpayload.
Doing a call before the payload has set up its stack is risky. The stack may not be in a favorable location. Normally this is not an issue with coreboot or other well behaved callers.
Change-Id: Ie6f6748a471324b29ebad045c807dfc9f4b92034
Signed-off-by: Marc Jones <marcj303 at gmail.com>
---
payloads/libpayload/arch/i386/head.S | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/payloads/libpayload/arch/i386/head.S b/payloads/libpayload/arch/i386/head.S
index 88db412..3dd6133 100644
--- a/payloads/libpayload/arch/i386/head.S
+++ b/payloads/libpayload/arch/i386/head.S
@@ -38,10 +38,7 @@
* change anything.
*/
_entry:
- call _init
-
- /* We're back - go back to the bootloader. */
- ret
+ jmp _init
.align 4
@@ -66,6 +63,9 @@ _init:
/* No interrupts, please. */
cli
+ /* There is a bunch of stuff missing here to take arguments on the stack
+ * See http://www.coreboot.org/Payload_API and exec.S.
+ */
/* Store current stack pointer. */
movl %esp, %esi
More information about the coreboot
mailing list