search for: msix_mmio_index

Displaying 18 results from an estimated 18 matches for "msix_mmio_index".

2009 Jun 21
1
[PATCHv6 05/12] qemu/pci: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret; + /* Nothing to do i...
2009 Jun 21
1
[PATCHv6 05/12] qemu/pci: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret; + /* Nothing to do i...
2009 Jun 02
0
[PATCHv2 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 02
0
[PATCHv2 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 18
0
[PATCHv5 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 18
0
[PATCHv5 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 10
0
[PATCHv4 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 10
0
[PATCHv4 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 May 25
1
[PATCH 05/11] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 May 25
1
[PATCH 05/11] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 05
1
[PATCHv3 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 Jun 05
1
[PATCHv3 05/13] qemu: MSI-X support functions
...y in case they are in a separate bar. */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = -ENOMEM; + /* Nothi...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...- 1); + /* TODO: map pending bits separately in case they are in a separate bar */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size, + unsigned *new_size) +{ + int ret = msix_add_config(dev, nentries, bar_nr, bar_size, new_size); + if (ret) + re...
2009 May 11
0
[PATCH 1/2] qemu-kvm: add MSI-X support
...- 1); + /* TODO: map pending bits separately in case they are in a separate bar */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size, + unsigned *new_size) +{ + int ret = msix_add_config(dev, nentries, bar_nr, bar_size, new_size); + if (ret) + re...
2009 May 20
0
[PATCHv2-RFC 1/2] qemu-kvm: add MSI-X support
...ly in case they are in a separate bar */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = msix_add_config(dev, n...
2009 May 20
0
[PATCHv2-RFC 1/2] qemu-kvm: add MSI-X support
...ly in case they are in a separate bar */ + int table_bir = table & PCI_MSIX_FLAGS_BIRMASK; + + if (table_bir != region_num) + return; + if (size <= offset) + return; + cpu_register_physical_memory(addr + offset, size - offset, + d->msix_mmio_index); +} + +/* Initialize the MSI-X structures. Note: if MSI-X is supported, BAR size is + * modified, it should be retrieved with msix_bar_size. */ +int msix_init(struct PCIDevice *dev, unsigned short nentries, + unsigned bar_nr, unsigned bar_size) +{ + int ret = msix_add_config(dev, n...
2009 May 11
0
[PATCH 2/2] qemu-kvm: use common code for assigned msix
...msix_free_irq_entries(dev); + kvm_commit_irq_routes(kvm_context); + } } static uint32_t msix_mmio_readl(void *opaque, target_phys_addr_t addr) diff --git a/hw/pci.h b/hw/pci.h index cd88564..935d194 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -201,6 +201,10 @@ struct PCIDevice { int msix_mmio_index; /* Reference-count for entries actually in use by driver. */ unsigned *msix_entry_used; + /* For some devices, there's no easy way to get MSI-X usage data from the + * guest. As a hack, we can look at vector control and message data fields, + * and assume that all unmasked...
2009 May 11
0
[PATCH 2/2] qemu-kvm: use common code for assigned msix
...msix_free_irq_entries(dev); + kvm_commit_irq_routes(kvm_context); + } } static uint32_t msix_mmio_readl(void *opaque, target_phys_addr_t addr) diff --git a/hw/pci.h b/hw/pci.h index cd88564..935d194 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -201,6 +201,10 @@ struct PCIDevice { int msix_mmio_index; /* Reference-count for entries actually in use by driver. */ unsigned *msix_entry_used; + /* For some devices, there's no easy way to get MSI-X usage data from the + * guest. As a hack, we can look at vector control and message data fields, + * and assume that all unmasked...