aboutsummaryrefslogtreecommitdiff
path: root/hw/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/pci.c')
-rw-r--r--hw/pci.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/pci.c b/hw/pci.c
index 79f1f118a3..fe7c5c3bcf 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1713,6 +1713,7 @@ static int pci_add_option_rom(PCIDevice *pdev)
int size;
char *path;
void *ptr;
+ char name[32];
if (!pdev->romfile)
return 0;
@@ -1748,7 +1749,11 @@ static int pci_add_option_rom(PCIDevice *pdev)
size = 1 << qemu_fls(size);
}
- pdev->rom_offset = qemu_ram_alloc(size);
+ if (pdev->qdev.info->vmsd)
+ snprintf(name, sizeof(name), "%s.rom", pdev->qdev.info->vmsd->name);
+ else
+ snprintf(name, sizeof(name), "%s.rom", pdev->qdev.info->name);
+ pdev->rom_offset = qemu_ram_alloc(&pdev->qdev, name, size);
ptr = qemu_get_ram_ptr(pdev->rom_offset);
load_image(path, ptr);