cpu/qemu-x86: Add the option to have no SMM
Qemu i440fx does not support an smihandler at the moment.
Change-Id: I5526b19b8294042a49e5bca61036e47db01fd28a
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48208
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
diff --git a/src/cpu/qemu-x86/Kconfig b/src/cpu/qemu-x86/Kconfig
index 87d02fc..c7ba631 100644
--- a/src/cpu/qemu-x86/Kconfig
+++ b/src/cpu/qemu-x86/Kconfig
@@ -5,10 +5,29 @@
select UDELAY_TSC
select TSC_MONOTONIC_TIMER
select UNKNOWN_TSC_RATE
- select SMM_ASEG
if CPU_QEMU_X86
+# coreboot i440fx does not support SMM
+choice
+ prompt "SMM support"
+ default CPU_QEMU_X86_ASEG_SMM
+ depends on BOARD_EMULATION_QEMU_X86_Q35
+
+config CPU_QEMU_X86_NO_SMM
+ bool "No SMM"
+ select NO_SMM
+
+config CPU_QEMU_X86_ASEG_SMM
+ bool "SMM in ASEG"
+ select SMM_ASEG
+
+#config CPU_QEMU_X86_TSEG_SMM
+# bool "SMM in TSEG"
+# select SMM_TSEG
+
+endchoice
+
config CPU_QEMU_X86_64
bool "Experimental 64bit support"
select ARCH_ALL_STAGES_X86_64
diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig
index 9187b05..62c23ca 100644
--- a/src/mainboard/emulation/qemu-i440fx/Kconfig
+++ b/src/mainboard/emulation/qemu-i440fx/Kconfig
@@ -14,6 +14,7 @@
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_FORCE_NATIVE_VGA_INIT
select HAVE_ASAN_IN_ROMSTAGE
+ select NO_SMM
config VBOOT
select VBOOT_MUST_REQUEST_DISPLAY
diff --git a/src/southbridge/intel/i82801ix/Kconfig b/src/southbridge/intel/i82801ix/Kconfig
index e1405cf..11a6d39 100644
--- a/src/southbridge/intel/i82801ix/Kconfig
+++ b/src/southbridge/intel/i82801ix/Kconfig
@@ -3,7 +3,7 @@
config SOUTHBRIDGE_INTEL_I82801IX
bool
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
- select HAVE_SMI_HANDLER
+ select HAVE_SMI_HANDLER if !NO_SMM
select HAVE_USBDEBUG_OPTIONS
select INTEL_DESCRIPTOR_MODE_CAPABLE
select IOAPIC
@@ -15,7 +15,7 @@
select SOUTHBRIDGE_INTEL_COMMON_RTC
select SOUTHBRIDGE_INTEL_COMMON_SMBUS
select SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS
- select SOUTHBRIDGE_INTEL_COMMON_SMM
+ select SOUTHBRIDGE_INTEL_COMMON_SMM if !NO_SMM
select SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9 if !BOARD_EMULATION_QEMU_X86_Q35
select SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG
select SOUTHBRIDGE_INTEL_COMMON_WATCHDOG