diff options
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/intel/car/romstage.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cpu/intel/car/romstage.c b/src/cpu/intel/car/romstage.c index c7c218b8ed..7df512dce0 100644 --- a/src/cpu/intel/car/romstage.c +++ b/src/cpu/intel/car/romstage.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include <adainit.h> #include <arch/romstage.h> #include <arch/symbols.h> #include <commonlib/helpers.h> @@ -40,6 +41,18 @@ void __noreturn romstage_main(void) if (CONFIG(VBOOT_EARLY_EC_SYNC)) vboot_sync_ec(); + /* + * We can generally jump between C and Ada code back and forth + * without trouble. But since we don't have an Ada main() we + * have to do some Ada package initializations that GNAT would + * do there. This has to be done before calling any Ada code. + * + * The package initializations should not have any dependen- + * cies on C code. So we can call them here early, and don't + * have to worry at which point we can start to use Ada. + */ + romstage_adainit(); + mainboard_romstage_entry(); /* Check the stack. */ |