summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/lib/copy_and_run.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/arch/i386/lib/copy_and_run.c b/src/arch/i386/lib/copy_and_run.c
index bf8d592f54..9cec90a81c 100644
--- a/src/arch/i386/lib/copy_and_run.c
+++ b/src/arch/i386/lib/copy_and_run.c
@@ -44,11 +44,10 @@ void copy_and_run_core(u8 *src, u8 *dst, unsigned long ilen, unsigned ebp)
print_debug("Jumping to image.\r\n");
__asm__ volatile (
- "movl %0, %%ebp\n\t"
+ "movl %%eax, %%ebp\n\t"
"cli\n\t"
- "leal _iseg, %%edi\n\t"
"jmp *%%edi\n\t"
- :: "a"(ebp)
+ :: "a"(ebp), "D"(dst)
);
}