diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-05-19 14:22:36 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-05-23 13:53:26 +0000 |
commit | ea2c1d357cccf4ee84473d304c880250fbd97080 (patch) | |
tree | 07e5ce3cd6c1d171ce868c71cc51e930b6e80ba2 /src | |
parent | bf378a0fdf5b57b9d9122b56634362222d846571 (diff) |
cpu/x86/smm: Remove heap
Currently no smihandler uses heap.
coreboot's heap manager also is quite limited in what it will
free (only the latest alloc). This makes it a bad idea to use it inside
the smihandler, as depending on the alloc usage the heap might actually
be full at some point, breaking the smihandler.
This also reduces the ramstage by 448 bytes on google/vilboz.
Change-Id: I70cd822be17c1efe13c94a9dbd2e1038808b9c56
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/64521
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/x86/Kconfig | 7 | ||||
-rw-r--r-- | src/cpu/x86/smm/Makefile.inc | 4 | ||||
-rw-r--r-- | src/lib/Makefile.inc | 1 |
3 files changed, 2 insertions, 10 deletions
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index 658d2aaf74..f34a2626f8 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -124,13 +124,6 @@ config SMM_LEGACY_ASEG if HAVE_SMI_HANDLER && !SMM_LEGACY_ASEG -config SMM_MODULE_HEAP_SIZE - hex - default 0x4000 - help - This option determines the size of the heap within the SMM handler - modules. - config SMM_MODULE_STACK_SIZE hex default 0x800 if ARCH_RAMSTAGE_X86_64 diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc index cd920daf1a..5f695909a8 100644 --- a/src/cpu/x86/smm/Makefile.inc +++ b/src/cpu/x86/smm/Makefile.inc @@ -67,9 +67,9 @@ $(call src-to-obj,ramstage,$(obj)/cpu/x86/smm/smmstub.manual): $(obj)/smmstub/sm # C-based SMM handler. ifeq ($(CONFIG_ARCH_RAMSTAGE_X86_32),y) -$(eval $(call rmodule_link,$(obj)/smm/smm.elf, $(obj)/smm/smm.o, $(CONFIG_SMM_MODULE_HEAP_SIZE),x86_32)) +$(eval $(call rmodule_link,$(obj)/smm/smm.elf, $(obj)/smm/smm.o, 0,x86_32)) else -$(eval $(call rmodule_link,$(obj)/smm/smm.elf, $(obj)/smm/smm.o, $(CONFIG_SMM_MODULE_HEAP_SIZE),x86_64)) +$(eval $(call rmodule_link,$(obj)/smm/smm.elf, $(obj)/smm/smm.o, 0,x86_64)) endif $(obj)/smm/smm: $(obj)/smm/smm.elf.rmod diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index 505dc4684b..68a296078b 100644 --- a/src/lib/Makefile.inc +++ b/src/lib/Makefile.inc @@ -215,7 +215,6 @@ romstage-y += boot_device.c ramstage-y += boot_device.c smm-y += boot_device.c -smm-y += malloc.c smm-y += delay.c smm-y += fmap.c smm-y += cbfs.c memcmp.c |