device/pci_rom: Write _ROM method for VGA devices
Write _ROM method and store PCI Option ROM in CBMEM. Allows an EFI compatible OS to retrieve the Option ROM without the need to access the PCI BAR. As the Option ROM is no longer present in the legacy VGA area it's required for mobile platforms. On hybrid devices, like Lenovo Thinkpads supporting NVIDIA Optimus it's the only way to retrieve the Option ROM, even with legacy BIOS, as there's no PCI BAR to map. Tested on: * Lenovo T530 * Linux Kernel 4.13.7 * nouveau Change-Id: I548b730fb64833083cc05af5b21dd6959804224b Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/20548 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
@@ -71,6 +71,10 @@
|
||||
#define CBMEM_ID_WIFI_CALIBRATION 0x57494649
|
||||
#define CBMEM_ID_EC_HOSTEVENT 0x63ccbbc3
|
||||
#define CBMEM_ID_EXT_VBT 0x69866684
|
||||
#define CBMEM_ID_ROM0 0x524f4d30
|
||||
#define CBMEM_ID_ROM1 0x524f4d31
|
||||
#define CBMEM_ID_ROM2 0x524f4d32
|
||||
#define CBMEM_ID_ROM3 0x524f4d33
|
||||
|
||||
#define CBMEM_ID_TO_NAME_TABLE \
|
||||
{ CBMEM_ID_ACPI, "ACPI " }, \
|
||||
@@ -122,5 +126,9 @@
|
||||
{ CBMEM_ID_VPD, "VPD " }, \
|
||||
{ CBMEM_ID_WIFI_CALIBRATION, "WIFI CLBR " }, \
|
||||
{ CBMEM_ID_EC_HOSTEVENT, "EC HOSTEVENT"}, \
|
||||
{ CBMEM_ID_EXT_VBT, "EXT VBT"},
|
||||
{ CBMEM_ID_EXT_VBT, "EXT VBT"}, \
|
||||
{ CBMEM_ID_ROM0, "VGA ROM #0 "}, \
|
||||
{ CBMEM_ID_ROM1, "VGA ROM #1 "}, \
|
||||
{ CBMEM_ID_ROM2, "VGA ROM #2 "}, \
|
||||
{ CBMEM_ID_ROM3, "VGA ROM #3 "},
|
||||
#endif /* _CBMEM_ID_H_ */
|
||||
|
Reference in New Issue
Block a user