aboutsummaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2022-01-31 17:41:29 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-02-02 13:26:45 +0000
commit67d06722969513e00bfb7bd33401b50b9870937c (patch)
treebb7a3df10a5b9e78331ec0a81464b05cfd105900 /src/soc
parentb998fd073dc404556e8f11b798f3e045d7342114 (diff)
soc/intel/cannonlake: Add `disable_vmx` devtree option
This option isn't meant to be assigned statically through devicetrees, but at runtime according to some config mechanism. It works in conjunction with the existing Kconfig option. Change-Id: Ia760be61466bc6a0ec187746e6e32537029512b4 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/61506 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Marvin Drees <marvin.drees@9elements.com>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/cannonlake/chip.h2
-rw-r--r--src/soc/intel/cannonlake/cpu.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/soc/intel/cannonlake/chip.h b/src/soc/intel/cannonlake/chip.h
index 774b5268db..c7e71f6fe6 100644
--- a/src/soc/intel/cannonlake/chip.h
+++ b/src/soc/intel/cannonlake/chip.h
@@ -448,6 +448,8 @@ struct soc_intel_cannonlake_config {
/* Disable CPU Turbo in IA32_MISC_ENABLE */
bool cpu_turbo_disable;
+
+ bool disable_vmx;
};
typedef struct soc_intel_cannonlake_config config_t;
diff --git a/src/soc/intel/cannonlake/cpu.c b/src/soc/intel/cannonlake/cpu.c
index 6af3e1a56f..10921a2e9e 100644
--- a/src/soc/intel/cannonlake/cpu.c
+++ b/src/soc/intel/cannonlake/cpu.c
@@ -144,7 +144,8 @@ void soc_core_init(struct device *cpu)
enable_turbo();
/* Enable Vmx */
- set_vmx_and_lock();
+ set_feature_ctrl_vmx_arg(CONFIG(ENABLE_VMX) && !cfg->disable_vmx);
+ set_feature_ctrl_lock();
}
static void per_cpu_smm_trigger(void)