summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2015-03-27 15:32:49 +0100
committerPatrick Georgi <pgeorgi@google.com>2015-03-30 20:41:15 +0200
commitcbe27469c1c5efe965fa830ce650fd882aebaec7 (patch)
tree8a5053ae0af503152f0607ed9485e26131a1278e
parent2459aeea0ba502b2d0734b8ba320b43a73d43d95 (diff)
downloadcoreboot-cbe27469c1c5efe965fa830ce650fd882aebaec7.tar.xz
x86/smm: Move SMM configuration out of generic Makefile
It's x86 specific. This is inspired by the commit listed below, but rewritten to match upstream, and split in smaller pieces to keep intent clear. Change-Id: Iacb91b47c89041435dd27c2c9ad34a231adf21d2 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Based-On-Change-Id: I50af7dacf616e0f8ff4c43f4acc679089ad7022b Based-On-Signed-off-by: Julius Werner <jwerner@chromium.org> Based-On-Reviewed-on: https://chromium-review.googlesource.com/219170 Reviewed-on: http://review.coreboot.org/9115 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
-rw-r--r--Makefile.inc11
-rw-r--r--src/cpu/x86/smm/Makefile.inc5
2 files changed, 5 insertions, 11 deletions
diff --git a/Makefile.inc b/Makefile.inc
index 59ddf7efec..e80c266848 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -134,21 +134,10 @@ endif
bootblock-generic-ccopts += -D__BOOT_BLOCK__ -D__PRE_RAM__
-smmstub-generic-ccopts += -D__SMM__
-smm-generic-ccopts += -D__SMM__
-
-# SMM TSEG base is dynamic
-ifneq ($(CONFIG_SMM_MODULES),y)
-ifeq ($(CONFIG_SMM_TSEG),y)
-smm-c-ccopts += -fpic
-endif
-endif
-
ramstage-c-deps:=$$(OPTION_TABLE_H)
romstage-c-deps:=$$(OPTION_TABLE_H)
verstage-c-deps:=$$(OPTION_TABLE_H)
bootblock-c-deps:=$$(OPTION_TABLE_H)
-smm-c-deps:=$$(OPTION_TABLE_H)
#######################################################################
# Add handler to compile ACPI's ASL
diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc
index 971eacf635..b62288a246 100644
--- a/src/cpu/x86/smm/Makefile.inc
+++ b/src/cpu/x86/smm/Makefile.inc
@@ -27,6 +27,10 @@ $(eval $(call create_class_compiler,smm,x86_64))
$(eval $(call create_class_compiler,smmstub,x86_64))
endif
+smmstub-generic-ccopts += -D__SMM__
+smm-generic-ccopts += -D__SMM__
+smm-c-deps:=$$(OPTION_TABLE_H)
+
$(obj)/cpu/x86/smm/smm.o: $$(smm-objs) $(COMPILER_RT_smm)
$(LD_smm) -nostdlib -r -o $@ $(COMPILER_RT_FLAGS_smm) --start-group $(smm-objs) $(COMPILER_RT_smm) --end-group
@@ -101,6 +105,7 @@ endif
# Use TSEG specific entry point and linker script
ifeq ($(CONFIG_SMM_TSEG),y)
smm-y += smmhandler_tseg.S
+smm-c-ccopts += -fpic
SMM_LDFLAGS := -pie
SMM_LDSCRIPT := smm_tseg.ld
else