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>
This commit is contained in:
Angel Pons 2022-01-31 17:41:29 +01:00 committed by Felix Held
parent b998fd073d
commit 67d0672296
2 changed files with 4 additions and 1 deletions

View File

@ -448,6 +448,8 @@ struct soc_intel_cannonlake_config {
/* Disable CPU Turbo in IA32_MISC_ENABLE */ /* Disable CPU Turbo in IA32_MISC_ENABLE */
bool cpu_turbo_disable; bool cpu_turbo_disable;
bool disable_vmx;
}; };
typedef struct soc_intel_cannonlake_config config_t; typedef struct soc_intel_cannonlake_config config_t;

View File

@ -144,7 +144,8 @@ void soc_core_init(struct device *cpu)
enable_turbo(); enable_turbo();
/* Enable Vmx */ /* 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) static void per_cpu_smm_trigger(void)