> #1: "etc/igd-opregion" > > the IGD OpRegion is an area of memory which contains among other > things, the Video BIOS Table which is integral in allowing an assigned > IGD to configure and make use of the physical display outputs of the > system. "etc/igd-opregion" is an opaque fw_cfg file which the BIOS > will use to allocate an appropriately sized reserved memory region, > copy the contents of the fw_cfg file into the allocated memory region, > and write the base address of the allocated memory region to the dword > registers at 0xFC in PCI config space on the IGD device itself. The > BIOS will look for this fw_cfg file any time a PCI class VGA device is > found with Intel vendor ID. Multiple IGD devices per VM, such as might > potentially be possible with Intel vGPU, is not within the scope of > this proposal. The expected size of this fw_cfg file is on the order > of a few pages, 8KB is typical.
Looks good to me. > #2: "etc/igd-bdsm" > possibility of multiple BDSM per VM. The expected size of this fw_cfg > file is from 1MB to multiple hundreds of MB with user specified stolen > video memory. Having a big fw_cfg file without using the content looks a bit odd to me. I'd suggest to create a fw_cfg file with the size in it instead. Usual way to do this is to stick a 64bit value in little endian byte order into fw_cfg, then use romfile_loadint() in seabios to read it. > I'd appreciate any comments on these entries and I'd be happy to > describe them further. Perhaps we should create a docs/api/ > directory with these sorts of descriptions where we define how a > given API is intended to work. There is docs/specs/ already where this would fit, and it even has a fw_cfg.txt file. It might make sense to have a separate igd-assign.txt though. cheers, Gerd