diff options
author | Jeremy Compostella <jeremy.compostella@intel.com> | 2022-11-30 19:26:01 -0700 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-12-17 20:48:06 +0000 |
commit | fa83887e48f196cfa303ce6de32acf1dfec7cad9 (patch) | |
tree | 1eb1a776d3e3e02c182db936dc9e6ad38529bf9b /src/lib | |
parent | e6b96dceabb9cc4e79653c7992b8c16ac3d234ce (diff) |
Add option to use Ada code in romstage
If selected, libgnat is linked into romstage. In addition, a call to
romstage_adainit() is added to support Ada program data
initialization.
BUG=b:252792591
BRANCH=firmware-brya-14505.B
TEST=Ada code compiles for romstage and loads successfully
Change-Id: I74f0460f6b14fde2b4bd6391e1782b2e5b217707
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70274
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Kconfig | 5 | ||||
-rw-r--r-- | src/lib/Makefile.inc | 1 | ||||
-rw-r--r-- | src/lib/gnat/Makefile.inc | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/Kconfig b/src/lib/Kconfig index ae96fc61ee..d108962bac 100644 --- a/src/lib/Kconfig +++ b/src/lib/Kconfig @@ -5,6 +5,11 @@ config MISSING_BOARD_RESET implementation. This activates a stub that logs the missing board reset and halts execution. +config ROMSTAGE_ADA + bool + help + Selected by features that use Ada code in romstage. + config RAMSTAGE_ADA bool help diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index 1c7bc22c1e..3e5b151b13 100644 --- a/src/lib/Makefile.inc +++ b/src/lib/Makefile.inc @@ -339,6 +339,7 @@ $(objcbfs)/%.debug.rmod: $(objcbfs)/%.debug | $(RMODTOOL) $(obj)/%.elf.rmod: $(obj)/%.elf | $(RMODTOOL) $(RMODTOOL) -i $< -o $@ +romstage-$(CONFIG_ROMSTAGE_ADA) += cb.ads ramstage-$(CONFIG_RAMSTAGE_ADA) += cb.ads ifeq ($(CONFIG_RAMSTAGE_LIBHWBASE),y) diff --git a/src/lib/gnat/Makefile.inc b/src/lib/gnat/Makefile.inc index 065ba71404..150a715067 100644 --- a/src/lib/gnat/Makefile.inc +++ b/src/lib/gnat/Makefile.inc @@ -51,6 +51,9 @@ $(foreach arch,$(standard-archs), \ $(foreach arch,$(standard-archs), \ $(eval $(call libgnat-template,$(arch)))) +ifeq ($(CONFIG_ROMSTAGE_ADA),y) +romstage-libs += $(obj)/libgnat-$(ARCH-romstage-y)/libgnat.a +endif ifeq ($(CONFIG_RAMSTAGE_ADA),y) ramstage-libs += $(obj)/libgnat-$(ARCH-ramstage-y)/libgnat.a endif |