diff --git a/src/vendorcode/google/chromeos/vboot_loader.c b/src/vendorcode/google/chromeos/vboot_loader.c index 10fa52d698..97178f67c4 100644 --- a/src/vendorcode/google/chromeos/vboot_loader.c +++ b/src/vendorcode/google/chromeos/vboot_loader.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "chromeos.h" #include "fmap.h" #include "vboot_context.h" @@ -237,11 +238,15 @@ static void vboot_load_ramstage(struct vboot_handoff *vboot_handoff, timestamp_add_now(TS_END_COPYRAM); +#if CONFIG_ARCH_X86 __asm__ volatile ( "movl $0, %%ebp\n" "jmp *%%edi\n" :: "D"(entry_point) ); +#elif CONFIG_ARCH_ARMV7 + stage_exit(entry_point); +#endif } void vboot_verify_firmware(struct romstage_handoff *handoff)