X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=common%2Fbootm_os.c;h=72477f0b810b154c58fb7e581e89c905cc95cd06;hb=c2c5b94f8959cd9e05be9e187dc597c6b6e2e786;hp=5be4467a1c2618d4552e1cbbcf715c6885aa2eb6;hpb=3364b1898c23f8016548acc2c099b08e865b8a61;p=karo-tx-uboot.git diff --git a/common/bootm_os.c b/common/bootm_os.c index 5be4467a1c..72477f0b81 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -404,6 +404,32 @@ static int do_bootm_integrity(int flag, int argc, char * const argv[], } #endif +#ifdef CONFIG_BOOTM_OPENRTOS +static int do_bootm_openrtos(int flag, int argc, char * const argv[], + bootm_headers_t *images) +{ + void (*entry_point)(void); + + if (flag != BOOTM_STATE_OS_GO) + return 0; + + entry_point = (void (*)(void))images->ep; + + printf("## Transferring control to OpenRTOS (at address %08lx) ...\n", + (ulong)entry_point); + + bootstage_mark(BOOTSTAGE_ID_RUN_OS); + + /* + * OpenRTOS Parameters: + * None + */ + (*entry_point)(); + + return 1; +} +#endif + static boot_os_fn *boot_os[] = { [IH_OS_U_BOOT] = do_bootm_standalone, #ifdef CONFIG_BOOTM_LINUX @@ -434,6 +460,9 @@ static boot_os_fn *boot_os[] = { #ifdef CONFIG_INTEGRITY [IH_OS_INTEGRITY] = do_bootm_integrity, #endif +#ifdef CONFIG_BOOTM_OPENRTOS + [IH_OS_OPENRTOS] = do_bootm_openrtos, +#endif }; /* Allow for arch specific config before we boot */