cpu/x86/smm: Add SMM_LEGACY_ASEG

Followup will allow use of PARALLEL_MP with SMM_ASEG so
some guards need to be adjusted.

Change-Id: If032ce2be4749559db0d46ab5ae422afa7666785
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61480
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Kyösti Mälkki
2022-01-29 14:05:58 +02:00
committed by Felix Held
parent bab9d72f15
commit 894f6f8229
10 changed files with 19 additions and 23 deletions

View File

@@ -11,10 +11,8 @@ ramstage-y += lpc.c
ramstage-y += usb.c
ramstage-y += usb2.c
ifeq ($(CONFIG_SMM_ASEG),y)
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += ../../../cpu/x86/smm/smmrelocate.S
endif
ramstage-$(CONFIG_SMM_LEGACY_ASEG) += smi.c
ramstage-$(CONFIG_SMM_LEGACY_ASEG) += ../../../cpu/x86/smm/smmrelocate.S
smm-y += smihandler.c

View File

@@ -279,7 +279,7 @@ static void lpc_init(struct device *dev)
/* Don't allow evil boot loaders, kernels, or
* userspace applications to deceive us:
*/
if (CONFIG(HAVE_SMI_HANDLER) && !CONFIG(PARALLEL_MP))
if (CONFIG(SMM_LEGACY_ASEG))
aseg_smm_lock();
}

View File

@@ -28,10 +28,8 @@ ifneq ($(CONFIG_BOARD_EMULATION_QEMU_X86_Q35),y)
ramstage-y += madt.c
endif
ifeq ($(CONFIG_SMM_ASEG),y)
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += ../../../cpu/x86/smm/smmrelocate.S
endif
ramstage-$(CONFIG_SMM_LEGACY_ASEG) += smi.c
ramstage-$(CONFIG_SMM_LEGACY_ASEG) += ../../../cpu/x86/smm/smmrelocate.S
CPPFLAGS_common += -I$(src)/southbridge/intel/i82801ix/include

View File

@@ -378,7 +378,7 @@ static void lpc_init(struct device *dev)
/* Don't allow evil boot loaders, kernels, or
* userspace applications to deceive us:
*/
if (CONFIG(HAVE_SMI_HANDLER) && !CONFIG(PARALLEL_MP))
if (CONFIG(SMM_LEGACY_ASEG))
aseg_smm_lock();
}

View File

@@ -9,7 +9,7 @@
#include <soc/nvs.h>
#if !CONFIG(SMM_TSEG)
#if CONFIG(SMM_LEGACY_ASEG)
/* For qemu/x86-q35 to build properly. */
struct global_nvs *gnvs;
#endif