diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2015-06-18 16:24:33 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2015-10-24 18:02:48 +0200 |
commit | 9113e3f394e0a8569713b7aa9ece3e37cb9b61e8 (patch) | |
tree | 1de8ad4b9c608bbf953d9d1d9f798388f1b325cc /hw/misc | |
parent | dee2151e7260a65c27495e9cbfc1931d9c9083d9 (diff) | |
download | qemu-9113e3f394e0a8569713b7aa9ece3e37cb9b61e8.zip qemu-9113e3f394e0a8569713b7aa9ece3e37cb9b61e8.tar.gz qemu-9113e3f394e0a8569713b7aa9ece3e37cb9b61e8.tar.bz2 |
ivshmem: remove superflous ivshmem_attr field
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
Diffstat (limited to 'hw/misc')
-rw-r--r-- | hw/misc/ivshmem.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index fbeb731..7138b8d 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -85,7 +85,6 @@ typedef struct IVShmemState { MemoryRegion bar; MemoryRegion ivshmem; uint64_t ivshmem_size; /* size of shared memory region */ - uint32_t ivshmem_attr; uint32_t ivshmem_64bit; int shm_fd; /* shared memory file descriptor */ @@ -345,7 +344,7 @@ static int check_shm_size(IVShmemState *s, int fd) { /* create the shared memory BAR when we are not using the server, so we can * create the BAR and map the memory immediately */ -static void create_shared_memory_BAR(IVShmemState *s, int fd) { +static void create_shared_memory_BAR(IVShmemState *s, int fd, uint8_t attr) { void * ptr; @@ -359,7 +358,7 @@ static void create_shared_memory_BAR(IVShmemState *s, int fd) { memory_region_add_subregion(&s->bar, 0, &s->ivshmem); /* region for shared memory */ - pci_register_bar(PCI_DEVICE(s), 2, s->ivshmem_attr, &s->bar); + pci_register_bar(PCI_DEVICE(s), 2, attr, &s->bar); } static void ivshmem_add_eventfd(IVShmemState *s, int posn, int i) @@ -714,6 +713,8 @@ static int pci_ivshmem_init(PCIDevice *dev) { IVShmemState *s = IVSHMEM(dev); uint8_t *pci_conf; + uint8_t attr = PCI_BASE_ADDRESS_SPACE_MEMORY | + PCI_BASE_ADDRESS_MEM_PREFETCH; if (s->sizearg == NULL) s->ivshmem_size = 4 << 20; /* 4 MB default */ @@ -768,10 +769,8 @@ static int pci_ivshmem_init(PCIDevice *dev) &s->ivshmem_mmio); memory_region_init(&s->bar, OBJECT(s), "ivshmem-bar2-container", s->ivshmem_size); - s->ivshmem_attr = PCI_BASE_ADDRESS_SPACE_MEMORY | - PCI_BASE_ADDRESS_MEM_PREFETCH; if (s->ivshmem_64bit) { - s->ivshmem_attr |= PCI_BASE_ADDRESS_MEM_TYPE_64; + attr |= PCI_BASE_ADDRESS_MEM_TYPE_64; } if ((s->server_chr != NULL) && @@ -798,7 +797,7 @@ static int pci_ivshmem_init(PCIDevice *dev) /* allocate/initialize space for interrupt handling */ s->peers = g_malloc0(s->nb_peers * sizeof(Peer)); - pci_register_bar(dev, 2, s->ivshmem_attr, &s->bar); + pci_register_bar(dev, 2, attr, &s->bar); s->eventfd_chr = g_malloc0(s->vectors * sizeof(CharDriverState *)); @@ -835,8 +834,7 @@ static int pci_ivshmem_init(PCIDevice *dev) exit(1); } - create_shared_memory_BAR(s, fd); - + create_shared_memory_BAR(s, fd, attr); } dev->config_write = ivshmem_write_config; |