diff options
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/include/start.h')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/include/start.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/arm/shared/include/start.h b/c/src/lib/libbsp/arm/shared/include/start.h index 9df6df4f3f..d5e69c318c 100644 --- a/c/src/lib/libbsp/arm/shared/include/start.h +++ b/c/src/lib/libbsp/arm/shared/include/start.h @@ -45,6 +45,15 @@ extern "C" { #define BSP_START_DATA_SECTION __attribute__((section(".bsp_start_data"))) +/* +* Many ARM boot loaders pass arguments to loaded OS kernel +*/ +#ifdef BSP_START_HOOKS_WITH_LOADER_ARGS +#define BSP_START_HOOKS_LOADER_ARGS int saved_psr, int saved_machid, int saved_dtb_adr +#else +#define BSP_START_HOOKS_LOADER_ARGS void +#endif + /** * @brief System start entry. */ @@ -57,7 +66,7 @@ void _start(void); * stack pointers are initialized but before the copying of the exception * vectors. */ -void bsp_start_hook_0(void); +void bsp_start_hook_0(BSP_START_HOOKS_LOADER_ARGS); /** * @brief Start entry hook 1. @@ -65,7 +74,7 @@ void bsp_start_hook_0(void); * This hook will be called from the start entry code after copying of the * exception vectors but before the call to boot_card(). */ -void bsp_start_hook_1(void); +void bsp_start_hook_1(BSP_START_HOOKS_LOADER_ARGS); /** * @brief Similar to standard memcpy(). |