diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-25 12:30:58 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-09-27 16:13:19 +0200 |
commit | 5913b71943decdf18b431bd0e0f959855aeb01c7 (patch) | |
tree | 28f7cce4a2297d40d7dd4e9de0fc87c5e0c6236c /arch/arm/mach-omap/xload.c | |
parent | 9d88abf95823761315acd05ea7db7a1f309d2519 (diff) | |
download | barebox-5913b71943decdf18b431bd0e0f959855aeb01c7.tar.gz barebox-5913b71943decdf18b431bd0e0f959855aeb01c7.tar.xz |
ARM: OMAP: register OMAP specific barebox bootm handler
The OMAP ROM code passes the boot information via r0 to the
bootloader. Add an OMAP specific barebox handler to pass this
information to the next stage. This allows us to chainload
bootloaders without loosing the information where we booted from.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-omap/xload.c')
-rw-r--r-- | arch/arm/mach-omap/xload.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c index b4d1b55e57..69e3e42df6 100644 --- a/arch/arm/mach-omap/xload.c +++ b/arch/arm/mach-omap/xload.c @@ -188,8 +188,7 @@ static void *omap4_xload_boot_usb(void){ */ static __noreturn int omap_xload(void) { - int (*func)(void *) = NULL; - uint32_t *arg; + void *func; if (!barebox_part) barebox_part = &default_part; @@ -230,12 +229,7 @@ static __noreturn int omap_xload(void) while (1); } - arg = (uint32_t *)&omap_bootinfo; - - shutdown_barebox(); - func(arg); - - while (1); + omap_start_barebox(func); } int omap_set_barebox_part(struct omap_barebox_part *part) |