summaryrefslogtreecommitdiff
path: root/payloads/libpayload/i386
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/i386')
-rw-r--r--payloads/libpayload/i386/head.S4
-rw-r--r--payloads/libpayload/i386/main.c17
2 files changed, 2 insertions, 19 deletions
diff --git a/payloads/libpayload/i386/head.S b/payloads/libpayload/i386/head.S
index e548329c66..8dc31aa54d 100644
--- a/payloads/libpayload/i386/head.S
+++ b/payloads/libpayload/i386/head.S
@@ -54,9 +54,9 @@ _init:
movl %esp, %esi
/* Setup new stack. */
- movl _istack, %ebx
+ movl $_stack, %ebx
- movl (%ebx), %esp
+ movl %ebx, %esp
/* Save old stack pointer. */
pushl %esi
diff --git a/payloads/libpayload/i386/main.c b/payloads/libpayload/i386/main.c
index a167218ffc..25e4de46d7 100644
--- a/payloads/libpayload/i386/main.c
+++ b/payloads/libpayload/i386/main.c
@@ -29,23 +29,6 @@
#include <libpayload.h>
-/*
- * This structure seeds the stack. We provide the return address of our main
- * function, and further down, the address of the function that we call when
- * we leave and try to restore the original stack. At the very bottom of the
- * stack we store the original stack pointer from the calling application.
- */
-
-extern void _leave(void);
-
-static struct {
- uint32_t esp;
-} initial_stack __attribute__ ((section(".istack"))) = {
- (uint32_t) &initial_stack,
-};
-
-void *_istack = &initial_stack;
-
/**
* This is our C entry function - set up the system
* and jump into the payload entry point.