From 7d93370e8005499d18507b8cd9fa71f4ae794e19 Mon Sep 17 00:00:00 2001
From: root <root@vt-nhm7.tsp.org>
Date: Fri, 6 Sep 2013 16:34:56 +0800
Subject: [PATCH] qemu-xen: vt-d bugfix for pci rom

Remove incorrect memory_region_init_rom_device() from xen_pt_register_regions(),
otherwise vt-d device with pci rom cannot pass through to hvm, since it trys to
populate from normal ram for pci rom, for example:

libxl: error: libxl_qmp.c:454:qmp_next: Socket read error: Connection reset by peer
qemu: hardware error: xen: xen_domid = 3, nr_pfn = 400, ram_addr = 20010000
(XEN) page_alloc.c:1460:d0 Over-allocation for domain 3: 131329 > 131328
(XEN) memory.c:132:d0 Could not allocate order=0 extent: id=3 memflags=0 (254 of 1024)

Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
---
 hw/xen_pt.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/hw/xen_pt.c b/hw/xen_pt.c
index 7aae826..b0bffdb 100644
--- a/hw/xen_pt.c
+++ b/hw/xen_pt.c
@@ -440,8 +440,6 @@ 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, NULL, NULL,
-                                      "xen-pci-pt-rom", d->rom.size);
         pci_register_bar(&s->dev, PCI_ROM_SLOT, PCI_BASE_ADDRESS_MEM_PREFETCH,
                          &s->rom);
 
-- 
1.7.1

