summaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp/gnr
diff options
context:
space:
mode:
authorJincheng Li <jincheng.li@intel.com>2024-08-12 12:27:49 +0800
committerLean Sheng Tan <sheng.tan@9elements.com>2024-09-24 11:14:20 +0000
commit1b5e3a27075560d2d4265ece43e855fe43cfe395 (patch)
tree4014f3fd52f6ba994fbbaaf249814dbdc12bd49e /src/soc/intel/xeon_sp/gnr
parent909da87a09bec9e5b6d2f4ca5d8964a93e7056b0 (diff)
soc/intel/xeon_sp/gnr: Implement SMM methods
Change-Id: I578b2c213ff1b33b4ca37e0422f690bedc9f5ba1 Signed-off-by: Jincheng Li <jincheng.li@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84325 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/xeon_sp/gnr')
-rw-r--r--src/soc/intel/xeon_sp/gnr/cpu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/gnr/cpu.c b/src/soc/intel/xeon_sp/gnr/cpu.c
index 9502865926..ebccb0814d 100644
--- a/src/soc/intel/xeon_sp/gnr/cpu.c
+++ b/src/soc/intel/xeon_sp/gnr/cpu.c
@@ -2,10 +2,12 @@
#include <cpu/intel/common/common.h>
#include <cpu/intel/microcode.h>
+#include <cpu/intel/smm_reloc.h>
#include <cpu/x86/mp.h>
#include <cpu/x86/mtrr.h>
#include <intelblocks/cpulib.h>
#include <intelblocks/mp_init.h>
+#include <soc/smmrelocate.h>
#include <soc/soc_util.h>
#include <soc/util.h>
@@ -84,6 +86,11 @@ static void post_mp_init(void)
static const struct mp_ops mp_ops = {
.pre_mp_init = pre_mp_init,
.get_cpu_count = get_thread_count,
+#if CONFIG(HAVE_SMI_HANDLER)
+ .get_smm_info = get_smm_info,
+ .pre_mp_smm_init = smm_southbridge_clear_state,
+ .relocation_handler = smm_relocation_handler,
+#endif
.get_microcode_info = get_microcode_info,
.post_mp_init = post_mp_init,
};