MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / read_vbios

Function read_vbios

rEFIt_UEFI/Platform/ati.cpp:1717–1747  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1715}
1716
1717BOOLEAN read_vbios(BOOLEAN from_pci)
1718{
1719 option_rom_header_t *rom_addr;
1720
1721 if (from_pci) {
1722 rom_addr = (option_rom_header_t *)(UINTN)(pci_config_read32(card->pci_dev, PCI_EXPANSION_ROM_BASE) & ~0x7ff);
1723 DBG(" @0x%llX\n", (uintptr_t)rom_addr);
1724 } else {
1725 rom_addr = (option_rom_header_t *)(UINTN)0xc0000;
1726 }
1727
1728 if (!validate_rom(rom_addr, card->pci_dev)) {
1729 DBG("There is no ROM @0x%llX\n", (uintptr_t)rom_addr);
1730 // gBS->Stall(3000000);
1731 return FALSE;
1732 }
1733
1734 card->rom_size = (UINT32)(rom_addr->rom_size) << 9;
1735 if (!card->rom_size) {
1736 DBG("invalid ROM size =0\n");
1737 return FALSE;
1738 }
1739
1740 card->rom = (__typeof__(card->rom))AllocateZeroPool(card->rom_size);
1741 if (!card->rom) {
1742 return FALSE;
1743 }
1744
1745 CopyMem(card->rom, (void *)rom_addr, card->rom_size);
1746 return TRUE;
1747}
1748
1749BOOLEAN read_disabled_vbios(VOID)
1750{

Callers 2

read_disabled_vbiosFunction · 0.85
init_cardFunction · 0.85

Calls 4

validate_romFunction · 0.85
pci_config_read32Function · 0.70
AllocateZeroPoolFunction · 0.50
CopyMemFunction · 0.50

Tested by

no test coverage detected