ivshmem: fix PCI BAR2 registration during initialization
authorHongyong Zang <zanghongyong@huawei.com>
Mon, 21 Nov 2011 10:56:18 +0000 (18:56 +0800)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 21 Nov 2011 21:05:59 +0000 (15:05 -0600)
Ivshmem cannot work, and the command lspci cannot show ivshmem BAR2 in the guest.
As for pci_register_bar(), parameter MemoryRegion should be s->bar instead of s->ivshmem.

Reviewed-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Hongyong Zang <zanghongyong@huawei.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/ivshmem.c

index a3a0e98..7b4dbf6 100644 (file)
@@ -699,7 +699,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
         s->peers = g_malloc0(s->nb_peers * sizeof(Peer));
 
         pci_register_bar(&s->dev, 2,
-                         PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ivshmem);
+                         PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar);
 
         s->eventfd_chr = g_malloc0(s->vectors * sizeof(CharDriverState *));