From a3ad319fbf3105a2763834758f36e6471388fbfd Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Thu, 8 Sep 2022 09:38:08 -0700 Subject: soc/intel/meteorlake: Disable FSP UPDs related to virtualization This patch disables FSP UPDs (`VtdDisable` and `VmxEnable`) as kernel cmdline still passes `intel_iommu=off` to turn off virtualization. BUG=b:241746156 TEST=Able to boot Google/rex to ChromeOS UI. Signed-off-by: Subrata Banik Change-Id: I21e178a93e311889f2ab7d1a08230d21b051f45e Reviewed-on: https://review.coreboot.org/c/coreboot/+/67452 Reviewed-by: Tarun Tuli Tested-by: build bot (Jenkins) Reviewed-by: Kapil Porwal --- src/soc/intel/meteorlake/romstage/fsp_params.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/soc/intel/meteorlake/romstage/fsp_params.c b/src/soc/intel/meteorlake/romstage/fsp_params.c index bd88c158de..be242e92d6 100644 --- a/src/soc/intel/meteorlake/romstage/fsp_params.c +++ b/src/soc/intel/meteorlake/romstage/fsp_params.c @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -234,6 +235,15 @@ static void fill_fspm_usb4_params(FSP_M_CONFIG *m_cfg, static void fill_fspm_vtd_params(FSP_M_CONFIG *m_cfg, const struct soc_intel_meteorlake_config *config) { + const uint32_t cpuid = cpu_get_cpuid(); + + /* FIXME: Enable Vtd back when kernel cmdline needs it. */ + if (cpuid == CPUID_METEORLAKE_A0_1 || cpuid == CPUID_METEORLAKE_A0_2) { + m_cfg->VtdDisable = 1; + m_cfg->VmxEnable = 0; + return; + } + m_cfg->VtdDisable = 0; m_cfg->VtdBaseAddress[0] = GFXVT_BASE_ADDRESS; m_cfg->VtdBaseAddress[1] = VTVC0_BASE_ADDRESS; -- cgit v1.2.3