[U-Boot] [PATCH 1/2] image: bootm: Add OpenRTOS image type
Jeroen Hofstee
jeroen at myspectrum.nl
Tue Dec 16 21:00:58 CET 2014
Hello Marek,
On 16-12-14 14:07, Marek Vasut wrote:
> Add separate image type for the Wittenstein OpenRTOS .
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Tom Rini <trini at ti.com>
> ---
> common/bootm_os.c | 29 +++++++++++++++++++++++++++++
> common/image.c | 4 ++++
> include/image.h | 1 +
> 3 files changed, 34 insertions(+)
>
> diff --git a/common/bootm_os.c b/common/bootm_os.c
> index 5be4467..72477f0 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);
You might consider adding a prepare function here, similar to e.g.
boot_prep_vxworks(images) which eventually calls cleanup_before_linux(),
so you end up jumping into the image with caches flushed and disabled
(at least on ARM). I don't know if this is needed in your case though...
> +
> + /*
> + * OpenRTOS Parameters:
> + * None
> + */
> + (*entry_point)();
> +
> + return 1;
> +}
> +#endif
Regards,
Jeroen
More information about the U-Boot
mailing list