Sean Rhodes has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/56252 )
Change subject: soc/skylake: Make VT-d controllable from CMOS option ......................................................................
soc/skylake: Make VT-d controllable from CMOS option
Make VT-d enable or disable based on CMOS value "vtd" 1 = Enable 0 = Disable
Signed-off-by: Sean Rhodes sean@starlabs.systems Change-Id: I1aea14968e08ee6af822bd259ca1d462f8926994 --- M src/soc/intel/skylake/chip.c 1 file changed, 5 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/56252/1
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c index 2599e12..1f2e8f8 100644 --- a/src/soc/intel/skylake/chip.c +++ b/src/soc/intel/skylake/chip.c @@ -9,6 +9,7 @@ #include <device/pci_ids.h> #include <fsp/util.h> #include <gpio.h> +#include <option.h> #include <intelblocks/cfg.h> #include <intelblocks/itss.h> #include <intelblocks/lpc_lib.h> @@ -18,6 +19,7 @@ #include <intelblocks/xdci.h> #include <intelblocks/p2sb.h> #include <intelpch/lockdown.h> +#include <limits.h> #include <soc/acpi.h> #include <soc/intel/common/vbt.h> #include <soc/interrupt.h> @@ -29,6 +31,7 @@ #include <soc/systemagent.h> #include <soc/usb.h> #include <string.h> +#include <types.h>
#include "chip.h"
@@ -501,11 +504,12 @@ params->PchIoApicBdfValid = 0;
/* Enable VT-d and X2APIC */ + const unsigned int vtd = get_uint_option("vtd", 1); if (soc_is_vtd_capable()) { params->VtdBaseAddress[0] = GFXVT_BASE_ADDRESS; params->VtdBaseAddress[1] = VTVC0_BASE_ADDRESS; params->X2ApicOptOut = 0; - tconfig->VtdDisable = 0; + tconfig->VtdDisable = !vtd; }
params->PeiGraphicsPeimInit = CONFIG(RUN_FSP_GOP) && is_devfn_enabled(SA_DEVFN_IGD);