diff options
author | Subrata Banik <subratabanik@google.com> | 2023-04-01 20:37:12 +0530 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2023-04-06 19:35:02 +0000 |
commit | ad6073c8b0bf3915e57f75947eb17bdaa2df926d (patch) | |
tree | 210541ac2f11628a107df2ac83801b3dc402784a /src/soc | |
parent | d8fc4fa4e642a407f0fb0f365e1ea7227662a167 (diff) | |
download | coreboot-ad6073c8b0bf3915e57f75947eb17bdaa2df926d.tar.gz coreboot-ad6073c8b0bf3915e57f75947eb17bdaa2df926d.tar.bz2 coreboot-ad6073c8b0bf3915e57f75947eb17bdaa2df926d.zip |
soc/intel/meteorlake: Enable VMX using coreboot CPU feature program
This function calls into `set_feature_ctrl_vmx_arg()`
to enable VMX for virtualization if not done by FSP (based on
DROP_CPU_FEATURE_PROGRAM_IN_FSP config is enabled) in MeteorLake
SoC based platform.
TEST=Able to build and boot google/rex.
Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: I7e49c15fd4f78a3e633855fea550720f0a685062
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74161
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/meteorlake/chip.h | 2 | ||||
-rw-r--r-- | src/soc/intel/meteorlake/cpu.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h index 9d9a600b4563..d4abed88c2d5 100644 --- a/src/soc/intel/meteorlake/chip.h +++ b/src/soc/intel/meteorlake/chip.h @@ -350,6 +350,8 @@ struct soc_intel_meteorlake_config { /* Energy-Performance Preference (HWP feature) */ bool enable_energy_perf_pref; uint8_t energy_perf_pref_value; + + bool disable_vmx; }; typedef struct soc_intel_meteorlake_config config_t; diff --git a/src/soc/intel/meteorlake/cpu.c b/src/soc/intel/meteorlake/cpu.c index fa1b83f49c26..bc7f7c76e8d4 100644 --- a/src/soc/intel/meteorlake/cpu.c +++ b/src/soc/intel/meteorlake/cpu.c @@ -145,6 +145,9 @@ void soc_core_init(struct device *cpu) disable_three_strike_error(); set_aesni_lock(); + + /* Enable VMX */ + set_feature_ctrl_vmx_arg(CONFIG(ENABLE_VMX) && !conf->disable_vmx); } } |