On Thu, May 30, 2013 at 07:49:36AM -0500, Dave Frodin wrote: > > From: "Kevin O'Connor" <ke...@koconnor.net> > > --- a/src/optionroms.c > > +++ b/src/optionroms.c > > @@ -178,10 +178,19 @@ deploy_romfile(struct romfile_s *file) > > static struct rom_header * > > lookup_hardcode(struct pci_device *pci) > > { > > - char fname[17]; > > - snprintf(fname, sizeof(fname), "pci%04x,%04x.rom" > > + struct romfile_s *file; > > + char fname[19]; > > + snprintf(fname, sizeof(fname), "alias%04x,%04x.rom" > > , pci->vendor, pci->device); > > - struct romfile_s *file = romfile_find(fname); > > + char *alias = romfile_loadfile(fname, NULL); > > + if (alias) { > > + file = romfile_find(alias); > > + free(alias); > > + } else { > > + snprintf(fname, sizeof(fname), "pci%04x,%04x.rom" > > + , pci->vendor, pci->device); > > + file = romfile_find(fname); > > + } > > if (file) > > return deploy_romfile(file); > > return NULL; > > > > In your sample code above, I don't see where any pci ID translation > (mapping) occurs. > As an example we could have a family14 mainboard with a coreboot > .config that generates a vga option rom with the name > "pci1002,9802.rom". The actual mainboard could have a graphics chip > with the id of 1002,9804 (which is 1 of 8 possible IDs). So there > needs to be some sort of mapping function (in SeaBIOS) that maps the > ID of 1002,9804 to 1002,9802.
With the above patch (assuming it works) one should be able to create a CBFS file named "alias1002,9804.rom" that contains the text "pci1002,9802.rom". -Kevin _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios