summaryrefslogtreecommitdiff
path: root/src/soc/amd/common/vboot/Makefile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd/common/vboot/Makefile.inc')
-rw-r--r--src/soc/amd/common/vboot/Makefile.inc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/soc/amd/common/vboot/Makefile.inc b/src/soc/amd/common/vboot/Makefile.inc
index 6938d16e69..e3486abffc 100644
--- a/src/soc/amd/common/vboot/Makefile.inc
+++ b/src/soc/amd/common/vboot/Makefile.inc
@@ -7,3 +7,13 @@ endif
bootblock-$(CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK) += vboot_bootblock.c
bootblock-$(CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK) += transfer_buffer.c
+smm-$(CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK) += transfer_buffer.c
+
+# We don't use the early RAM memlayout linker for SMM, so we don't have access
+# to the early RAM symbols. We manually generate a file that defines the symbols
+# for us.
+$(obj)/smm/early_ram_symbols.ld: $(objcbfs)/bootblock.map $(src)/soc/amd/common/vboot/early_ram_symbols.awk
+ awk -f $(src)/soc/amd/common/vboot/early_ram_symbols.awk -- "$<" > "$@"
+
+$(obj)/smm/smm.elf: $(obj)/smm/early_ram_symbols.ld
+$(obj)/smm/smm.elf-ldflags += -T $(obj)/smm/early_ram_symbols.ld