Lines Matching full:rom
43 struct pci_setup_rom *rom = NULL; in preserve_pci_rom_image() local
61 size = romsize + sizeof(*rom); in preserve_pci_rom_image()
64 (void **)&rom); in preserve_pci_rom_image()
66 efi_err("Failed to allocate memory for 'rom'\n"); in preserve_pci_rom_image()
70 memset(rom, 0, sizeof(*rom)); in preserve_pci_rom_image()
72 rom->data.type = SETUP_PCI; in preserve_pci_rom_image()
73 rom->data.len = size - sizeof(struct setup_data); in preserve_pci_rom_image()
74 rom->data.next = 0; in preserve_pci_rom_image()
75 rom->pcilen = romsize; in preserve_pci_rom_image()
76 *__rom = rom; in preserve_pci_rom_image()
79 PCI_VENDOR_ID, 1, &rom->vendor); in preserve_pci_rom_image()
82 efi_err("Failed to read rom->vendor\n"); in preserve_pci_rom_image()
87 PCI_DEVICE_ID, 1, &rom->devid); in preserve_pci_rom_image()
90 efi_err("Failed to read rom->devid\n"); in preserve_pci_rom_image()
94 status = efi_call_proto(pci, get_location, &rom->segment, &rom->bus, in preserve_pci_rom_image()
95 &rom->device, &rom->function); in preserve_pci_rom_image()
100 memcpy(rom->romdata, romimage, romsize); in preserve_pci_rom_image()
104 efi_bs_call(free_pool, rom); in preserve_pci_rom_image()
153 struct pci_setup_rom *rom; in setup_efi_pci() local
160 status = preserve_pci_rom_image(pci, &rom); in setup_efi_pci()
165 data->next = (unsigned long)rom; in setup_efi_pci()
167 params->hdr.setup_data = (unsigned long)rom; in setup_efi_pci()
169 data = (struct setup_data *)rom; in setup_efi_pci()