soc/intel/skylake: Enable VT-d and X2APIC

We use the usual static addresses 0xfed90000/0xfed91000 for the GFX
IOMMU and the general IOMMU respectively. These addresses have to be
configured in MCHBAR registers (maybe, who knows, the blob is undocu-
mented), advertised to FSP and reserved from the OS.

The new devicetree option `ignore_vtd` allows to retain the old beha-
viour (do whatever pre-set UPD values suggest).

We also let FSP set up distinct BDFs for messages originating from the
I/O-APIC and the HPET.

Change-Id: I77f87c385736615c127143760bbd144f97986b37
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/21597
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Youness Alaoui <snifikino@gmail.com>
This commit is contained in:
Nico Huber
2017-09-19 09:36:03 +02:00
committed by Martin Roth
parent db06cf0576
commit 2afe4dc075
7 changed files with 80 additions and 0 deletions

View File

@ -113,6 +113,9 @@ struct soc_intel_skylake_config {
/* Estimated maximum platform power in Watts */
u16 psys_pmax;
/* Wether to ignore VT-d support of the SKU */
int ignore_vtd;
/*
* The following fields come from FspUpdVpd.h.
* These are configuration values that are passed to FSP during