> If you are lucky, you only need to add 20~30 lines to your chipset's code.

Could you, please, show us an explicit example (of these 20 to 30 lines of code)?!

Zoran

On Mon, Jun 5, 2017 at 7:34 PM, Nico Huber <nico.h@gmx.de> wrote:
Hi,

On 05.06.2017 18:58, Himanshu Chauhan wrote:
>
>> On 05-Jun-2017, at 10:19 PM, ron minnich <rminnich@gmail.com> wrote:
>>
>> The reason I ask about what you need is that on chromebooks the main
>> coreboot support came down to 'don't disable anything’.
>
> I think its can’t just be disabled. Its just that kernel is not given
> any knowledge about its existence. This is what I want to know. The
> commercial BIOSes give an option of “enable VT-d” support. What do they
> do when this option is selected? Can this be implemented in Coreboot?
> This probably brings me to your next question of what is required. I
> would spend some time to figure that out.

First thing, the firmware doesn't have to support it. It's only that
Intel chose _not_ to write per platform OS drivers and let the firm-
ware do the abstraction instead (I know a kernel that works pretty well
with VT-d even if there are no DMAR tables).

coreboot already handles VT-d support on some chipsets (GM45, Sandy/
Ivy Bridge come to mind). You can look how it's done there. If you are
lucky, you only need to add 20~30 lines to your chipset's code.

If your chipset needs special initialization, it's most probably docu-
mented in the BIOS Writer's Guide (BWG) or BIOS Specification. Though,
you need an NDA with Intel to get these.

Nico