Add OPROM mapping support to coreboot
authorStefan Reinauer <reinauer@chromium.org>
Mon, 23 Jan 2012 22:17:52 +0000 (14:17 -0800)
committerMarc Jones <marcj303@gmail.com>
Mon, 6 Feb 2012 23:09:58 +0000 (00:09 +0100)
commitc0a6c6b3b946f13f331ad2c2a3ab941cde628098
treef2fa411b4f381c7b77cb4e1570b34013c64588db
parent01f7ab93359ae0fee5784d35effbcbe0b596df18
Add OPROM mapping support to coreboot

This allows to add a PCI ID mapping function for option roms so that the same
option rom can be used for a series of devices / PCI IDs. Intel and AMD often
use the same option rom for a number of PCI devices with differend IDs.

A function to implement such a mapping could look like this (or anything else
appropriate):

/* some vga option roms are used for several chipsets but they only have one
 * PCI ID in their header. If we encounter such an option rom, we need to do
 * the mapping ourselfes
 */

u32 map_oprom_vendev(u32 vendev)
{
    u32 new_vendev=vendev;

    switch(vendev) {
    case 0xa0118086:
        new_vendev=0xa0018086;
        break;
    }

    return new_vendev;
}

Change-Id: I1be7fe113b895075d43ea48fe706b039cef136d2
Reviewed-on: http://review.coreboot.org/573
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Marc Jones <marcj303@gmail.com>
src/devices/pci_rom.c
src/include/device/pci_rom.h