From: Anthony PERARD Date: Fri, 10 Jan 2014 15:56:33 +0000 (+0000) Subject: xen_pt: Fix passthrough of device with ROM. X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~1117^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=794798e36eda77802ce7cc7d7d6b1c65751e8a76;p=sdk%2Femulator%2Fqemu.git xen_pt: Fix passthrough of device with ROM. QEMU does not need and should not allocate memory for the ROM of a passthrough PCI device. So this patch initialize the particular region like any other PCI BAR of a passthrough device. When a guest will access the ROM, Xen will take care of the IO, QEMU will not be involved in it. Xen set a limit of memory available for each guest, allocating memory for a ROM can hit this limit. Signed-off-by: Anthony PERARD Signed-off-by: Stefano Stabellini Reported-and-Tested-by: Konrad Rzeszutek Wilk --- diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index eee4354..be4220b 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -440,8 +440,8 @@ static int xen_pt_register_regions(XenPCIPassthroughState *s) s->bases[PCI_ROM_SLOT].access.maddr = d->rom.base_addr; - memory_region_init_rom_device(&s->rom, OBJECT(s), NULL, NULL, - "xen-pci-pt-rom", d->rom.size); + memory_region_init_io(&s->rom, OBJECT(s), &ops, &s->dev, + "xen-pci-pt-rom", d->rom.size); pci_register_bar(&s->dev, PCI_ROM_SLOT, PCI_BASE_ADDRESS_MEM_PREFETCH, &s->rom);