| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| #ifndef _ADAINIT_H | |
| #define _ADAINIT_H | |
| /** | |
| * @file adainit.h | |
| * | |
| * Ada supports some complex constructs that result in code for runtime | |
| * initialization. It's also possible to have explicit procedures for | |
| * package level initialization (e.g. you can initialize huge arrays in | |
| * a loop instead of cluttering the binary). | |
| * | |
| * When an Ada main() is in charge, GNAT emits the call to the initia- | |
| * lizations automatically. When not, we have to call it explicitly. | |
| */ | |
| #if CONFIG(ROMSTAGE_ADA) | |
| void romstage_adainit(void); | |
| #else | |
| static inline void romstage_adainit(void) {} | |
| #endif | |
| #if CONFIG(RAMSTAGE_ADA) | |
| void ramstage_adainit(void); | |
| #else | |
| static inline void ramstage_adainit(void) {} | |
| #endif | |
| #endif /* _ADAINIT_H */ |