summaryrefslogtreecommitdiff
path: root/src/arch/x86/lib
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-01-30 15:48:29 -0600
committerAaron Durbin <adurbin@google.com>2014-02-15 18:03:15 +0100
commite9aaa71fb1e05c4432d768d87071ef842c536cb4 (patch)
tree27e57a861c1bb5b0282326e3c1d83fccee5df6a7 /src/arch/x86/lib
parentefc5841ab404aa615306a233dcbcda225b9380b5 (diff)
x86: provide stage_exit() like arm
The arm architectures have a stage_exit() function which takes a void * pointer as an entry point. Provide the same API for x86. This can make the booting paths less architecture-specific. Change-Id: I4ecfbf32f38f2e3817381b63e1f97e92654c5f97 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/5086 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'src/arch/x86/lib')
-rw-r--r--src/arch/x86/lib/cbfs_and_run.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/arch/x86/lib/cbfs_and_run.c b/src/arch/x86/lib/cbfs_and_run.c
index 6379842563..3d56e19318 100644
--- a/src/arch/x86/lib/cbfs_and_run.c
+++ b/src/arch/x86/lib/cbfs_and_run.c
@@ -34,10 +34,7 @@ static void cbfs_and_run_core(const char *filename)
timestamp_add_now(TS_END_COPYRAM);
print_debug("Jumping to image.\n");
- __asm__ volatile (
- "jmp *%%edi\n"
- :: "D"(dst)
- );
+ stage_exit(dst);
}
void asmlinkage copy_and_run(void)