Igor Skochinsky via coreboot coreboot@coreboot.org writes:
Hello Patrick,
Tuesday, April 4, 2017, 8:54:09 PM, you wrote:
PR> VBT is documented by intel-gpu-tools. There's intel_vbt_decode PR> (former intel_bios_decode) available PR> https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/tree/tools/intel_vbt_d... PR> that will print all tables in human readable form.
Nice find! I did not realize this tool supports that many structures; for some reason I thought it just prints some general info without details.
So now that we have a dumper the following should be possible:
- make a "decompiler" that would convert VBT from the option ROM into a human/machine
readable text format 2) make a "compiler" that would take that text format and create a binary VBT from it 3) put the binary VBT into the ACPI IGD OpRegion table ([1], [2]), or wherever the graphics driver can find it.
I think blobtool would fit that purpose quite nicely on the assumption VBT is already extracted and that VBT has fixed locations for its entries. If one writes a blobtool spec file (which describes the bitfields) it can serve both as a "decompiler" and as a "compiler".
So, basically, an approach similar to ich9gen for the flash descriptor/gbe.
Blobtool handles ICH9 IFD and GBE compilation and decompilation too. ;)
This should allow getting rid of the option ROM if real mode support is not required.
Would great to have indeed, who knows if other OS drivers will mandate VBT one day.
Kind regards.