aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp/cpx/romstage.c
diff options
context:
space:
mode:
authorJonathan Zhang <jonzhang@fb.com>2020-07-17 17:35:12 -0700
committerAngel Pons <th3fanbus@gmail.com>2020-08-14 09:08:24 +0000
commitd2718c93815ab18bc65b866dff42d1e625fe5f2c (patch)
treea6b569838724a3d33dd5f86ee89dfcc7682a45c6 /src/soc/intel/xeon_sp/cpx/romstage.c
parent056f81988fdbc67af334d9dfba1e974cc577fa6b (diff)
soc/intel/xeon_sp/cpx: add VT-d support
Intel CPX-SP FSP added support for VT-d through adding UPD parameter X2apic. Based on devicetree.cb setting, enable VT-d programming through FSP-M. When VT-d is enabled, add DMAR ACPI table. Signed-off-by: Jonathan Zhang <jonzhang@fb.com> Change-Id: Ic66374af6e53fb847c1bdc324eb3f4e01c334a94 Reviewed-on: https://review.coreboot.org/c/coreboot/+/44280 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Diffstat (limited to 'src/soc/intel/xeon_sp/cpx/romstage.c')
-rw-r--r--src/soc/intel/xeon_sp/cpx/romstage.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/cpx/romstage.c b/src/soc/intel/xeon_sp/cpx/romstage.c
index 6c65994412..a198c993f3 100644
--- a/src/soc/intel/xeon_sp/cpx/romstage.c
+++ b/src/soc/intel/xeon_sp/cpx/romstage.c
@@ -15,6 +15,7 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
{
FSPM_CONFIG *m_cfg = &mupd->FspmConfig;
const struct device *dev;
+ const config_t *config = config_of_soc();
/* ErrorLevel - 0 (disable) to 8 (verbose) */
m_cfg->DebugPrintLevel = 8;
@@ -68,5 +69,9 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
dev = pcidev_path_on_root(PCH_DEVFN_THERMAL);
m_cfg->ThermalDeviceEnable = dev && dev->enabled;
+ /* Enable VT-d according to DTB */
+ m_cfg->VtdSupport = config->vtd_support;
+ m_cfg->X2apic = config->x2apic;
+
mainboard_memory_init_params(mupd);
}