Werner Zeh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30990 )
Change subject: soc/apollolake: Generate DMAR table ......................................................................
Patch Set 6:
(1 comment)
Patch Set 6:
(1 comment)
https://review.coreboot.org/#/c/30990/5/src/soc/intel/apollolake/acpi.c File src/soc/intel/apollolake/acpi.c:
https://review.coreboot.org/#/c/30990/5/src/soc/intel/apollolake/acpi.c@247 PS5, Line 247: !(MCHBAR32(DEFVTBAR) & VTBAR_ENABLED))
Because if GFX is diasbled (for some reason), VTD can still be active and we need to generate DMAR […]
Well, I have started exact with the upper code in the first run. Unfortunately, on some steppings of APL an enabled IPU will override the enabled VTD feature inside FSP and disable VTD completely. It will then be the case that CAPID0_A reports an enabled VTD feature while the needed BARs will be disabled and locked. In this case there will be the header of the DMAR generated while the content will be missing. Therefore I have added the check for at least enabled DEFVTBAR, in which case VTD is available at all on the system. I will add a description in the comment to clarify this.