summaryrefslogtreecommitdiffstats
path: root/include/pci_rom.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-01-27 22:13:34 -0700
committerSimon Glass <sjg@chromium.org>2015-02-05 22:16:43 -0700
commitbc17d8f4ac41a6a4bcc4b28f1c6216a5a034fa63 (patch)
tree245be28fde3783f007d64ba755ff567f152c0dad /include/pci_rom.h
parent2d934e5703b712686c3ec67f6d5eeb137c68805d (diff)
downloadtalos-obmc-uboot-bc17d8f4ac41a6a4bcc4b28f1c6216a5a034fa63.tar.gz
talos-obmc-uboot-bc17d8f4ac41a6a4bcc4b28f1c6216a5a034fa63.zip
x86: video: Allow video ROM execution to fall back to the other method
If the BIOS emulator is not available, allow use of native execution if available, and vice versa. This can be controlled by the caller. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'include/pci_rom.h')
-rw-r--r--include/pci_rom.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/pci_rom.h b/include/pci_rom.h
index 4ba36eb1b7..2f1665d17a 100644
--- a/include/pci_rom.h
+++ b/include/pci_rom.h
@@ -33,14 +33,25 @@ struct pci_rom_data {
uint16_t reserved_2;
};
+/*
+ * Determines which execution method is used and whether we allow falling back
+ * to the other if the requested method is not available.
+ */
+enum pci_rom_emul {
+ PCI_ROM_EMULATE = 0 << 0,
+ PCI_ROM_USE_NATIVE = 1 << 0,
+ PCI_ROM_ALLOW_FALLBACK = 1 << 1,
+};
+
/**
* pci_run_vga_bios() - Run the VGA BIOS in an x86 PC
*
* @dev: Video device containing the BIOS
* @int15_handler: Function to call to handle int 0x15
- * @emulate: true to use the x86 emulator, false to run native
+ * @exec_method: flags from enum pci_rom_emul
*/
-int pci_run_vga_bios(pci_dev_t dev, int (*int15_handler)(void), bool emulate);
+int pci_run_vga_bios(pci_dev_t dev, int (*int15_handler)(void),
+ int exec_method);
/**
* board_map_oprom_vendev() - map several PCI IDs to the one the ROM expects
OpenPOWER on IntegriCloud