diff options
Diffstat (limited to 'src/include/device/pci_rom.h')
-rw-r--r-- | src/include/device/pci_rom.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/include/device/pci_rom.h b/src/include/device/pci_rom.h new file mode 100644 index 0000000000..68c8e71b7c --- /dev/null +++ b/src/include/device/pci_rom.h @@ -0,0 +1,32 @@ +#include <arch/byteorder.h> +#include <stddef.h> + +#define PCI_ROM_HDR 0xAA55 +#define PCI_DATA_HDR (uint32_t) ( ('R' << 24) | ('I' << 16) | ('C' << 8) | 'P' ) + +#define PCI_RAM_IMAGE_START 0xD0000 +#define PCI_VGA_RAM_IMAGE_START 0xC0000 + +struct rom_header { + uint16_t signature; + uint8_t size; + uint8_t init[3]; + uint8_t reserved[0x12]; + uint16_t data; +}; + +struct pci_data { + uint32_t signature; + uint16_t vendor; + uint16_t device; + uint16_t reserved_1; + uint16_t dlen; + uint8_t drevision; + uint8_t class_hi; + uint16_t class_lo; + uint16_t ilen; + uint16_t irevision; + uint8_t type; + uint8_t indicator; + uint16_t reserved_2; +}; |