[coreboot] How to handle vbt.bin
arthur at aheymans.xyz
Thu Apr 5 10:24:38 CEST 2018
Recently there has been some development towards better handling of the
VBT (Video BIOS Table) on Intel targets within coreboot. ,(and a
whole lot of patches that hook up this code).
VBT is usually a part of the option rom for the Intel integrated graphic
device. It is pure configuration data that is in binary format, has a
variable length and is fully documented. The OS typically needs to know
a few things about the hardware like on which I2C address to talk to
SDVO devices, which I2C pins to use for the VGA port (standalone or
shared with DVI-I port). Linux can typically work to some extend without
it by it assumes some defaults but the Windows drivers fails to work
without it. I heard it is also a hard requirement for the GOP (pre-os
Usually this VBT data is passed on via the option rom address for video
devices (0xc0000) but this can also be passed on via ACPI via a
pointer, which coreboot can do (either by extracting it from an option
rom in cbfs or via a cbfsfile named vbt.bin)
Now the real question.
Since this is purely configuration data that is also fully documented it
holds no copyright and can be included into the coreboot project without
legal troubles. Now one would be able to generate this binary file but
due to its modularity and variable length such generator would be
tedious to create. So currently the option are to either include the
binary in the blob repo or in the main repo.
An argument was made that it belongs in the main repo in the
src/mainboard/*/*/ dir as we already have binary configuration data in
there, namely SPD (serial presence detect) for soldered dram. Also
having the policy of allowing (and encouraging) such binaries in the
main repo could make it easier for users to run their self-build
coreboot roms on devices from big coreboot vendors (like Google).
So what are your thoughts on this?
More information about the coreboot