On Tue, May 21, 2013 at 02:47:18PM -0500, Dave Frodin wrote:
All, This is a patch that reproduces the vendor ID mapping that is done in coreboot in the various AMD northbridge's. The coreboot mapping is only useful if coreboot is used to run the vga bios. If seabios is the payload then most coreboot configs leave the vga bios init for it.
Thanks. See my comments below.
[...]
--- a/src/optionroms.c +++ b/src/optionroms.c @@ -154,7 +154,6 @@ getRomPriority(u64 *sources, struct rom_header *rom, int instance) return bootprio_find_named_rom(file->name, instance); }
Looks like whitespace got corrupted in your email.
[...]
+static u32 +map_oprom_vendev(u32 vendev) +{
- u32 new_vendev = vendev;
- switch (vendev) {
- case 0x10029803: // Family14
- case 0x10029804:
If we're going to have a mapping, I think it has to be read from CBFS. I don't think we should hardcode a list into seabios.
[...]
static struct rom_header * lookup_hardcode(struct pci_device *pci) { char fname[17];
- u32 vendev_mapped;
- vendev_mapped = map_oprom_vendev((pci->vendor << 16) | pci->device);
- pci->vendor = vendev_mapped >> 16;
- pci->device = vendev_mapped & 0xFFFF;
Modifying struct pci_device doesn't look right.
-Kevin