mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
ivshmem: rename MSI eventfd_table
The array is used to have vector specific data, so use a more descriptive name. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
This commit is contained in:
parent
d160f3f791
commit
0f57350e5c
@ -66,9 +66,9 @@ typedef struct Peer {
|
|||||||
EventNotifier *eventfds;
|
EventNotifier *eventfds;
|
||||||
} Peer;
|
} Peer;
|
||||||
|
|
||||||
typedef struct EventfdEntry {
|
typedef struct MSIVector {
|
||||||
PCIDevice *pdev;
|
PCIDevice *pdev;
|
||||||
} EventfdEntry;
|
} MSIVector;
|
||||||
|
|
||||||
typedef struct IVShmemState {
|
typedef struct IVShmemState {
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
@ -99,7 +99,7 @@ typedef struct IVShmemState {
|
|||||||
int vm_id;
|
int vm_id;
|
||||||
uint32_t vectors;
|
uint32_t vectors;
|
||||||
uint32_t features;
|
uint32_t features;
|
||||||
EventfdEntry *eventfd_table;
|
MSIVector *msi_vectors;
|
||||||
|
|
||||||
Error *migration_blocker;
|
Error *migration_blocker;
|
||||||
|
|
||||||
@ -284,10 +284,10 @@ static void ivshmem_event(void *opaque, int event)
|
|||||||
|
|
||||||
static void fake_irqfd(void *opaque, const uint8_t *buf, int size) {
|
static void fake_irqfd(void *opaque, const uint8_t *buf, int size) {
|
||||||
|
|
||||||
EventfdEntry *entry = opaque;
|
MSIVector *entry = opaque;
|
||||||
PCIDevice *pdev = entry->pdev;
|
PCIDevice *pdev = entry->pdev;
|
||||||
IVShmemState *s = IVSHMEM(pdev);
|
IVShmemState *s = IVSHMEM(pdev);
|
||||||
int vector = entry - s->eventfd_table;
|
int vector = entry - s->msi_vectors;
|
||||||
|
|
||||||
IVSHMEM_DPRINTF("interrupt on vector %p %d\n", pdev, vector);
|
IVSHMEM_DPRINTF("interrupt on vector %p %d\n", pdev, vector);
|
||||||
msix_notify(pdev, vector);
|
msix_notify(pdev, vector);
|
||||||
@ -311,10 +311,10 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
|
|||||||
|
|
||||||
/* if MSI is supported we need multiple interrupts */
|
/* if MSI is supported we need multiple interrupts */
|
||||||
if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
|
if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
|
||||||
s->eventfd_table[vector].pdev = PCI_DEVICE(s);
|
s->msi_vectors[vector].pdev = PCI_DEVICE(s);
|
||||||
|
|
||||||
qemu_chr_add_handlers(chr, ivshmem_can_receive, fake_irqfd,
|
qemu_chr_add_handlers(chr, ivshmem_can_receive, fake_irqfd,
|
||||||
ivshmem_event, &s->eventfd_table[vector]);
|
ivshmem_event, &s->msi_vectors[vector]);
|
||||||
} else {
|
} else {
|
||||||
qemu_chr_add_handlers(chr, ivshmem_can_receive, ivshmem_receive,
|
qemu_chr_add_handlers(chr, ivshmem_can_receive, ivshmem_receive,
|
||||||
ivshmem_event, s);
|
ivshmem_event, s);
|
||||||
@ -659,7 +659,7 @@ static int ivshmem_setup_msi(IVShmemState * s)
|
|||||||
IVSHMEM_DPRINTF("msix initialized (%d vectors)\n", s->vectors);
|
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->msi_vectors = g_malloc0(s->vectors * sizeof(MSIVector));
|
||||||
|
|
||||||
ivshmem_use_msix(s);
|
ivshmem_use_msix(s);
|
||||||
return 0;
|
return 0;
|
||||||
@ -864,7 +864,7 @@ static void pci_ivshmem_exit(PCIDevice *dev)
|
|||||||
msix_uninit_exclusive_bar(dev);
|
msix_uninit_exclusive_bar(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free(s->eventfd_table);
|
g_free(s->msi_vectors);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool test_msix(void *opaque, int version_id)
|
static bool test_msix(void *opaque, int version_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user