aboutsummaryrefslogtreecommitdiff
path: root/hw/pci.c
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2010-06-25 11:09:35 -0600
committerAnthony Liguori <aliguori@us.ibm.com>2010-07-06 10:36:28 -0500
commit1724f04985367b15751f11f4a9558f8736b2ab59 (patch)
tree8314db5ca99ed66015af03c2bf494177ae5e4460 /hw/pci.c
parent01657c867d21bbabb1af22c6fe62ff80a2970446 (diff)
downloadqemu-1724f04985367b15751f11f4a9558f8736b2ab59.zip
qemu-1724f04985367b15751f11f4a9558f8736b2ab59.tar.gz
qemu-1724f04985367b15751f11f4a9558f8736b2ab59.tar.bz2
qemu_ram_alloc: Add DeviceState and name parameters
These will be used to generate unique id strings for ramblocks. The name field is required, the device pointer is optional as most callers don't have a device. When there's no device or the device isn't a child of a bus implementing BusInfo.get_dev_path, the name should be unique for the platform. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
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 79f1f11..fe7c5c3 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);