| 1605 | } |
| 1606 | |
| 1607 | BOOLEAN validate_rom(option_rom_header_t *rom_header, pci_dt_t *pci_dev) |
| 1608 | { |
| 1609 | option_rom_pci_header_t *rom_pci_header; |
| 1610 | |
| 1611 | if (rom_header->signature != 0xaa55) { |
| 1612 | DBG("invalid ROM signature %hX\n", rom_header->signature); |
| 1613 | return FALSE; |
| 1614 | } |
| 1615 | |
| 1616 | rom_pci_header = (option_rom_pci_header_t *)((UINT8 *)rom_header + rom_header->pci_header_offset); |
| 1617 | |
| 1618 | if (rom_pci_header->signature != 0x52494350) { |
| 1619 | DBG("invalid ROM header %X\n", rom_pci_header->signature); |
| 1620 | return FALSE; |
| 1621 | } |
| 1622 | |
| 1623 | if (rom_pci_header->vendor_id != pci_dev->vendor_id || rom_pci_header->device_id != pci_dev->device_id){ |
| 1624 | DBG("invalid ROM vendor=%04hX deviceID=%04hX\n", rom_pci_header->vendor_id, rom_pci_header->device_id); |
| 1625 | return FALSE; |
| 1626 | } |
| 1627 | |
| 1628 | return TRUE; |
| 1629 | } |
| 1630 | |
| 1631 | BOOLEAN load_vbios_file(UINT16 vendor_id, UINT16 device_id) |
| 1632 | { |
no outgoing calls
no test coverage detected