ivshmem: Convert to msix_init_exclusive_bar() interface

Trivial conversion, failed to have an uninit before and after.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Alex Williamson 2012-06-14 12:16:01 -06:00 committed by Michael S. Tsirkin
parent 53f949254a
commit 1116b53921
1 changed files with 3 additions and 7 deletions

View File

@ -70,7 +70,6 @@ typedef struct IVShmemState {
*/ */
MemoryRegion bar; MemoryRegion bar;
MemoryRegion ivshmem; MemoryRegion ivshmem;
MemoryRegion msix_bar;
uint64_t ivshmem_size; /* size of shared memory region */ uint64_t ivshmem_size; /* size of shared memory region */
int shm_fd; /* shared memory file descriptor */ int shm_fd; /* shared memory file descriptor */
@ -563,16 +562,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
static void ivshmem_setup_msi(IVShmemState * s) static void ivshmem_setup_msi(IVShmemState * s)
{ {
memory_region_init(&s->msix_bar, "ivshmem-msix", 4096); if (msix_init_exclusive_bar(&s->dev, s->vectors, 1)) {
if (!msix_init(&s->dev, s->vectors, &s->msix_bar, 1, 0)) {
pci_register_bar(&s->dev, 1, PCI_BASE_ADDRESS_SPACE_MEMORY,
&s->msix_bar);
IVSHMEM_DPRINTF("msix initialized (%d vectors)\n", s->vectors);
} else {
IVSHMEM_DPRINTF("msix initialization failed\n"); IVSHMEM_DPRINTF("msix initialization failed\n");
exit(1); exit(1);
} }
IVSHMEM_DPRINTF("msix initialized (%d vectors)\n", s->vectors);
/* allocate QEMU char devices for receiving interrupts */ /* allocate QEMU char devices for receiving interrupts */
s->eventfd_table = g_malloc0(s->vectors * sizeof(EventfdEntry)); s->eventfd_table = g_malloc0(s->vectors * sizeof(EventfdEntry));