aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp/skx
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/xeon_sp/skx')
-rw-r--r--src/soc/intel/xeon_sp/skx/Kconfig4
-rw-r--r--src/soc/intel/xeon_sp/skx/Makefile.inc2
-rw-r--r--src/soc/intel/xeon_sp/skx/cpu.c20
3 files changed, 14 insertions, 12 deletions
diff --git a/src/soc/intel/xeon_sp/skx/Kconfig b/src/soc/intel/xeon_sp/skx/Kconfig
index 2e0778ee12..08242b12e7 100644
--- a/src/soc/intel/xeon_sp/skx/Kconfig
+++ b/src/soc/intel/xeon_sp/skx/Kconfig
@@ -59,4 +59,8 @@ config HEAP_SIZE
hex
default 0x80000
+config IED_REGION_SIZE
+ hex
+ default 0x400000
+
endif
diff --git a/src/soc/intel/xeon_sp/skx/Makefile.inc b/src/soc/intel/xeon_sp/skx/Makefile.inc
index f042d36890..6ee610eded 100644
--- a/src/soc/intel/xeon_sp/skx/Makefile.inc
+++ b/src/soc/intel/xeon_sp/skx/Makefile.inc
@@ -8,7 +8,7 @@ subdirs-y += ../../../../cpu/x86/lapic
subdirs-y += ../../../../cpu/x86/mtrr
subdirs-y += ../../../../cpu/x86/tsc
subdirs-y += ../../../../cpu/x86/cache
-subdirs-$(CONFIG_HAVE_SMI_HANDLER) += ../../../cpu/x86/smm
+subdirs-$(CONFIG_HAVE_SMI_HANDLER) += ../../../../cpu/x86/smm
postcar-y += soc_util.c
diff --git a/src/soc/intel/xeon_sp/skx/cpu.c b/src/soc/intel/xeon_sp/skx/cpu.c
index 874bcfd6d7..d36f11be66 100644
--- a/src/soc/intel/xeon_sp/skx/cpu.c
+++ b/src/soc/intel/xeon_sp/skx/cpu.c
@@ -10,9 +10,13 @@
#include <soc/msr.h>
#include <soc/cpu.h>
#include <soc/soc_util.h>
+#include <soc/smmrelocate.h>
#include <soc/util.h>
#include <assert.h>
#include "chip.h"
+#include <cpu/intel/smm_reloc.h>
+#include <cpu/intel/em64t101_save_state.h>
+
static const config_t *chip_config = NULL;
@@ -197,11 +201,8 @@ static void post_mp_init(void)
/* Set Max Ratio */
set_max_turbo_freq();
- /*
- * TODO: Now that all APs have been relocated as well as the BSP let SMIs
- * start flowing.
- */
- if (0) global_smi_enable();
+ if (CONFIG(HAVE_SMI_HANDLER))
+ global_smi_enable();
}
/*
@@ -214,12 +215,9 @@ static void post_mp_init(void)
static const struct mp_ops mp_ops = {
.pre_mp_init = pre_mp_init,
.get_cpu_count = get_platform_thread_count,
- //.get_smm_info = get_smm_info, /* TODO */
- .get_smm_info = NULL,
- //.pre_mp_smm_init = southcluster_smm_clear_state, /* TODO */
- .pre_mp_smm_init = NULL,
- //.relocation_handler = relocation_handler, /* TODO */
- .relocation_handler = NULL,
+ .get_smm_info = get_smm_info,
+ .pre_mp_smm_init = smm_initialize,
+ .relocation_handler = smm_relocation_handler,
.post_mp_init = post_mp_init,
};