summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/xeon_sp/gnr/cpu.c5
-rw-r--r--src/soc/intel/xeon_sp/gnr/romstage.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/soc/intel/xeon_sp/gnr/cpu.c b/src/soc/intel/xeon_sp/gnr/cpu.c
index ebccb0814d..580503537c 100644
--- a/src/soc/intel/xeon_sp/gnr/cpu.c
+++ b/src/soc/intel/xeon_sp/gnr/cpu.c
@@ -34,8 +34,9 @@ static void each_cpu_init(struct device *cpu)
printk(BIOS_SPEW, "%s dev: %s, cpu: %lu, apic_id: 0x%x\n",
__func__, dev_path(cpu), cpu_index(), cpu->path.apic.apic_id);
- /* Enable VMX */
- set_vmx_and_lock();
+ /* Only lock and let vmx enabled by FSP to avoid FSP always triggering power good reset
+ due to vmx configuration conflict */
+ set_feature_ctrl_lock();
}
static struct device_operations cpu_dev_ops = {
diff --git a/src/soc/intel/xeon_sp/gnr/romstage.c b/src/soc/intel/xeon_sp/gnr/romstage.c
index e61471ea40..48d88aaedf 100644
--- a/src/soc/intel/xeon_sp/gnr/romstage.c
+++ b/src/soc/intel/xeon_sp/gnr/romstage.c
@@ -66,6 +66,11 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
"FSP_BOOT_WITH_FULL_CONFIGURATION.\n");
}
+ if (CONFIG(ENABLE_VMX))
+ m_cfg->VmxEnable = 1;
+ else
+ m_cfg->VmxEnable = 0;
+
/* Board level settings */
mainboard_memory_init_params(mupd);
}