* [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size
@ 2012-06-04 14:56 Jan Kiszka
2012-06-04 18:57 ` Michael S. Tsirkin
2012-06-05 10:20 ` Michael S. Tsirkin
0 siblings, 2 replies; 5+ messages in thread
From: Jan Kiszka @ 2012-06-04 14:56 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
No user in sight.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
hw/msix.c | 8 --------
hw/msix.h | 2 --
hw/pci.h | 2 --
3 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/hw/msix.c b/hw/msix.c
index ded3c55..2b86cdf 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -72,7 +72,6 @@ static int msix_add_config(struct PCIDevice *pdev, unsigned short nentries,
new_size = bar_size * 2;
}
- pdev->msix_bar_size = new_size;
config_offset = pci_add_capability(pdev, PCI_CAP_ID_MSIX,
0, MSIX_CAP_LENGTH);
if (config_offset < 0)
@@ -382,13 +381,6 @@ int msix_enabled(PCIDevice *dev)
MSIX_ENABLE_MASK);
}
-/* Size of bar where MSI-X table resides, or 0 if MSI-X not supported. */
-uint32_t msix_bar_size(PCIDevice *dev)
-{
- return (dev->cap_present & QEMU_PCI_CAP_MSIX) ?
- dev->msix_bar_size : 0;
-}
-
/* Send an MSI-X message */
void msix_notify(PCIDevice *dev, unsigned vector)
{
diff --git a/hw/msix.h b/hw/msix.h
index 50aee82..e5a488d 100644
--- a/hw/msix.h
+++ b/hw/msix.h
@@ -21,8 +21,6 @@ void msix_load(PCIDevice *dev, QEMUFile *f);
int msix_enabled(PCIDevice *dev);
int msix_present(PCIDevice *dev);
-uint32_t msix_bar_size(PCIDevice *dev);
-
int msix_vector_use(PCIDevice *dev, unsigned vector);
void msix_vector_unuse(PCIDevice *dev, unsigned vector);
void msix_unuse_all_vectors(PCIDevice *dev);
diff --git a/hw/pci.h b/hw/pci.h
index c3cacce..3d534e7 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -226,8 +226,6 @@ struct PCIDevice {
MemoryRegion msix_mmio;
/* Reference-count for entries actually in use by driver. */
unsigned *msix_entry_used;
- /* Region including the MSI-X table */
- uint32_t msix_bar_size;
/* MSIX function mask set or MSIX disabled */
bool msix_function_masked;
/* Version id needed for VMState */
--
1.7.3.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size
2012-06-04 14:56 [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size Jan Kiszka
@ 2012-06-04 18:57 ` Michael S. Tsirkin
2012-06-05 10:20 ` Michael S. Tsirkin
1 sibling, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2012-06-04 18:57 UTC (permalink / raw)
To: Jan Kiszka; +Cc: qemu-devel
On Mon, Jun 04, 2012 at 04:56:01PM +0200, Jan Kiszka wrote:
> No user in sight.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Applied.
> ---
> hw/msix.c | 8 --------
> hw/msix.h | 2 --
> hw/pci.h | 2 --
> 3 files changed, 0 insertions(+), 12 deletions(-)
>
> diff --git a/hw/msix.c b/hw/msix.c
> index ded3c55..2b86cdf 100644
> --- a/hw/msix.c
> +++ b/hw/msix.c
> @@ -72,7 +72,6 @@ static int msix_add_config(struct PCIDevice *pdev, unsigned short nentries,
> new_size = bar_size * 2;
> }
>
> - pdev->msix_bar_size = new_size;
> config_offset = pci_add_capability(pdev, PCI_CAP_ID_MSIX,
> 0, MSIX_CAP_LENGTH);
> if (config_offset < 0)
> @@ -382,13 +381,6 @@ int msix_enabled(PCIDevice *dev)
> MSIX_ENABLE_MASK);
> }
>
> -/* Size of bar where MSI-X table resides, or 0 if MSI-X not supported. */
> -uint32_t msix_bar_size(PCIDevice *dev)
> -{
> - return (dev->cap_present & QEMU_PCI_CAP_MSIX) ?
> - dev->msix_bar_size : 0;
> -}
> -
> /* Send an MSI-X message */
> void msix_notify(PCIDevice *dev, unsigned vector)
> {
> diff --git a/hw/msix.h b/hw/msix.h
> index 50aee82..e5a488d 100644
> --- a/hw/msix.h
> +++ b/hw/msix.h
> @@ -21,8 +21,6 @@ void msix_load(PCIDevice *dev, QEMUFile *f);
> int msix_enabled(PCIDevice *dev);
> int msix_present(PCIDevice *dev);
>
> -uint32_t msix_bar_size(PCIDevice *dev);
> -
> int msix_vector_use(PCIDevice *dev, unsigned vector);
> void msix_vector_unuse(PCIDevice *dev, unsigned vector);
> void msix_unuse_all_vectors(PCIDevice *dev);
> diff --git a/hw/pci.h b/hw/pci.h
> index c3cacce..3d534e7 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -226,8 +226,6 @@ struct PCIDevice {
> MemoryRegion msix_mmio;
> /* Reference-count for entries actually in use by driver. */
> unsigned *msix_entry_used;
> - /* Region including the MSI-X table */
> - uint32_t msix_bar_size;
> /* MSIX function mask set or MSIX disabled */
> bool msix_function_masked;
> /* Version id needed for VMState */
> --
> 1.7.3.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size
2012-06-04 14:56 [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size Jan Kiszka
2012-06-04 18:57 ` Michael S. Tsirkin
@ 2012-06-05 10:20 ` Michael S. Tsirkin
2012-06-05 10:26 ` Jan Kiszka
1 sibling, 1 reply; 5+ messages in thread
From: Michael S. Tsirkin @ 2012-06-05 10:20 UTC (permalink / raw)
To: Jan Kiszka; +Cc: qemu-devel
On Mon, Jun 04, 2012 at 04:56:01PM +0200, Jan Kiszka wrote:
> No user in sight.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Just to note, currently (since the memory API changes) all users assume
a single 4K page for MSI-X, we will need some API to remove that
assumption.
Still the patch is fine.
> ---
> hw/msix.c | 8 --------
> hw/msix.h | 2 --
> hw/pci.h | 2 --
> 3 files changed, 0 insertions(+), 12 deletions(-)
>
> diff --git a/hw/msix.c b/hw/msix.c
> index ded3c55..2b86cdf 100644
> --- a/hw/msix.c
> +++ b/hw/msix.c
> @@ -72,7 +72,6 @@ static int msix_add_config(struct PCIDevice *pdev, unsigned short nentries,
> new_size = bar_size * 2;
> }
>
> - pdev->msix_bar_size = new_size;
> config_offset = pci_add_capability(pdev, PCI_CAP_ID_MSIX,
> 0, MSIX_CAP_LENGTH);
> if (config_offset < 0)
> @@ -382,13 +381,6 @@ int msix_enabled(PCIDevice *dev)
> MSIX_ENABLE_MASK);
> }
>
> -/* Size of bar where MSI-X table resides, or 0 if MSI-X not supported. */
> -uint32_t msix_bar_size(PCIDevice *dev)
> -{
> - return (dev->cap_present & QEMU_PCI_CAP_MSIX) ?
> - dev->msix_bar_size : 0;
> -}
> -
> /* Send an MSI-X message */
> void msix_notify(PCIDevice *dev, unsigned vector)
> {
> diff --git a/hw/msix.h b/hw/msix.h
> index 50aee82..e5a488d 100644
> --- a/hw/msix.h
> +++ b/hw/msix.h
> @@ -21,8 +21,6 @@ void msix_load(PCIDevice *dev, QEMUFile *f);
> int msix_enabled(PCIDevice *dev);
> int msix_present(PCIDevice *dev);
>
> -uint32_t msix_bar_size(PCIDevice *dev);
> -
> int msix_vector_use(PCIDevice *dev, unsigned vector);
> void msix_vector_unuse(PCIDevice *dev, unsigned vector);
> void msix_unuse_all_vectors(PCIDevice *dev);
> diff --git a/hw/pci.h b/hw/pci.h
> index c3cacce..3d534e7 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -226,8 +226,6 @@ struct PCIDevice {
> MemoryRegion msix_mmio;
> /* Reference-count for entries actually in use by driver. */
> unsigned *msix_entry_used;
> - /* Region including the MSI-X table */
> - uint32_t msix_bar_size;
> /* MSIX function mask set or MSIX disabled */
> bool msix_function_masked;
> /* Version id needed for VMState */
> --
> 1.7.3.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size
2012-06-05 10:20 ` Michael S. Tsirkin
@ 2012-06-05 10:26 ` Jan Kiszka
2012-06-08 20:04 ` Alex Williamson
0 siblings, 1 reply; 5+ messages in thread
From: Jan Kiszka @ 2012-06-05 10:26 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
On 2012-06-05 12:20, Michael S. Tsirkin wrote:
> On Mon, Jun 04, 2012 at 04:56:01PM +0200, Jan Kiszka wrote:
>> No user in sight.
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>
> Just to note, currently (since the memory API changes) all users assume
> a single 4K page for MSI-X, we will need some API to remove that
> assumption.
> Still the patch is fine.
Yep, I have a patch for this here (I think I posted an earlier version
before). It's required to do device assignment using the MSI layer.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size
2012-06-05 10:26 ` Jan Kiszka
@ 2012-06-08 20:04 ` Alex Williamson
0 siblings, 0 replies; 5+ messages in thread
From: Alex Williamson @ 2012-06-08 20:04 UTC (permalink / raw)
To: Jan Kiszka; +Cc: qemu-devel, Michael S. Tsirkin
On Tue, 2012-06-05 at 12:26 +0200, Jan Kiszka wrote:
> On 2012-06-05 12:20, Michael S. Tsirkin wrote:
> > On Mon, Jun 04, 2012 at 04:56:01PM +0200, Jan Kiszka wrote:
> >> No user in sight.
> >>
> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> >
> > Just to note, currently (since the memory API changes) all users assume
> > a single 4K page for MSI-X, we will need some API to remove that
> > assumption.
> > Still the patch is fine.
>
> Yep, I have a patch for this here (I think I posted an earlier version
> before). It's required to do device assignment using the MSI layer.
Would you mind sending a pointer or reposting, I can't find it. Trying
to switch vfio to not require existing capabilities checks I was
reminded of the horror of msix_init(). We need a pretty good overhaul
here to be able to allow the flexibility of defining where both the
vector table a pba live to make it more compatible with real devices. I
honestly don't see the benefit of allowing msix_init() the ability to
resize a BAR to give itself room. There are only two other users
currently, ivshmem and virtio, both of which allocate a BAR exclusively
for MSI-X. Thanks,
Alex
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-06-08 20:04 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-04 14:56 [Qemu-devel] [PATCH] msix: Drop unused msix_bar_size Jan Kiszka
2012-06-04 18:57 ` Michael S. Tsirkin
2012-06-05 10:20 ` Michael S. Tsirkin
2012-06-05 10:26 ` Jan Kiszka
2012-06-08 20:04 ` Alex Williamson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).