On 06/13/12 01:06, Steve Goodrich wrote: > Please be aware that this is cross-posted to both the SeaBIOS and coreboot > mailing lists. I know this is generally frowned upon, but I believe the > subject is valid for discussion in both forums. > > > I have a coreboot/SeaBIOS image containing an option ROM that works for > multiple graphics devices (seven or eight of them). These graphics devices > come from the same vendor but each device has its own (unique) PCI Device > ID. If I'm going to load the driver from SeaBIOS, I need to have a copy of > the option ROM file, each with the name of the target PCI device (e.g. > "pci1234,5678.rom"). Having seven or eight copies in the BIOS image file is > a waste of space. > > Stefan R. submitted a solution to coreboot to enable mapping one ROM's > vendor/device ID to another and this solution has worked well for > coreboot-centric uses. > > Unfortunately, this does not address the problem in SeaBIOS. I have started > working on a solution that extends what Stefan has done, but moves the data > into a single "translate" file in CBFS. This file contains simple data to > allow coreboot and/or SeaBIOS to take a PCI device's vendor/device info and > retrieve alternate vendor/device values. > > Since both coreboot and SeaBIOS understand CBFS, the basic translation code > would be identical. > > The data file consists of sets of four 16-bit binary values: > u16 vendor1, device1; // translate FROM this PCI v/d > u16 vendor2, device2; // translate TO this PCI v/d
Another possible solution would be to add support for symbolic links to cbfs. How do you get around the limitation of a single pci id in the rom header? Or does seabios skip the pci id verification for rom files loaded from cbfs? cheers, Gerd -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

