Werner Zeh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31194 )
Change subject: intel/apollolake: Add parameter to enable VTD in devicetree ......................................................................
Patch Set 1:
Patch Set 1:
What was the default UPD setting in glk and apl fsp? I'm ok with the change, but we should be informed of what the previous defaults were.
Current header files indicate a default of 0, i.e. disabled. Werner, please mention this in the commit message.
There is no guarantee, though, that all binaries have the same defaults.
Thanks Nico for stepping in. As you already have depicted, current header files for both Apollo Lake and Gemini Lake indicates, that Vtd is disabled per default:
/** Offset 0x026A - VT-d Enable/Disable VT-d. 0:Disable(Default), 1:Enable. $EN_DIS **/ UINT8 VtdEnable;
We still might hit the case where the FSP has been modified via BCT binary and this default is not true anymore. In this case we might end up with disabled Vtd feature as it is not mentioned in the mainboard's devicetree. But on the other hand, Vtd is only fully useful if one have DMAR table around for the OS to handle this kind of virtualization. And the generation of this DMAR table has been added a few weeks ago only. So I doubt that this case, where FSP has been modified via BCT should happen too often (if at all).
I will add a better description to the commit message.