qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL] rtl8139,pci,msi


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PULL] rtl8139,pci,msi
Date: Mon, 11 Jun 2012 21:07:19 +0300

On Mon, Jun 11, 2012 at 12:16:09PM -0500, Anthony Liguori wrote:
> On 06/07/2012 11:38 AM, Michael S. Tsirkin wrote:
> >The following changes since commit 8cc9b43f7c5f826b39af4b012ad89bb55faac29c:
> >
> >   target-microblaze: lwx/swx: first implementation (2012-06-04 10:19:46 
> > +0200)
> >
> >are available in the git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_anthony
> >
> >for you to fetch changes up to 11e02c393109508fde4d99650f003dd2d6029bc5:
> >
> >   pci_bridge_dev: fix error path in pci_bridge_dev_initfn() (2012-06-07 
> > 17:19:01 +0300)
> >
> >----------------------------------------------------------------
> >rtl8139,pci,msi
> >
> >This pull includes a bugfix for rtl8139 (this is independent of
> >Jason Wang's fix which Anthony has merged) and pci bridge hotplug bugfixes.
> >Further there are MSI/MSIX fixes and changes by Jan which should
> >also help merging device assignment down the road.
> >
> >Signed-off-by: Michael S. Tsirkin<address@hidden>
> >
> >----------------------------------------------------------------
> >Fernando Luis Vazquez Cao (1):
> >       rtl8139: honor RxOverflow flag in can_receive method
> >
> >Jan Kiszka (9):
> >       ahci: Fix reset of MSI function
> >       intel-hda: Fix reset of MSI function
> >       ahci: Clean up reset functions
> >       msi: Guard msi_reset with msi_present
> >       msi: Invoke msi/msix_reset from PCI core
> >       msi: Guard msi/msix_write_config with msi_present
> >       msi: Invoke msi/msix_write_config from PCI core
> >       msi: Use msi/msix_present more consistently
> >       msix: Drop unused msix_bar_size
> 
> This last commit made GCC unhappy.
> 
>   CC    libhw64/hw/msix.o
> /home/anthony/git/qemu/hw/msix.c: In function ‘msix_add_config’:
> /home/anthony/git/qemu/hw/msix.c:58:14: error: variable ‘new_size’
> set but not used [-Werror=unused-but-set-variable]
> cc1: all warnings being treated as errors
> 
> Regards,
> 
> Anthony Liguori

Something like the following will be needed on top.
I'll fix it up but for now will drop this and resend pull request.

diff --git a/hw/msix.c b/hw/msix.c
index 2b86cdf..b64f109 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -55,21 +55,15 @@ static int msix_add_config(struct PCIDevice *pdev, unsigned 
short nentries,
 {
     int config_offset;
     uint8_t *config;
-    uint32_t new_size;
 
     if (nentries < 1 || nentries > PCI_MSIX_FLAGS_QSIZE + 1)
         return -EINVAL;
     if (bar_size > 0x80000000)
         return -ENOSPC;
 
-    /* Add space for MSI-X structures */
-    if (!bar_size) {
-        new_size = MSIX_PAGE_SIZE;
-    } else if (bar_size < MSIX_PAGE_SIZE) {
-        bar_size = MSIX_PAGE_SIZE;
-        new_size = MSIX_PAGE_SIZE * 2;
-    } else {
-        new_size = bar_size * 2;
+    /* Require aligned offset for MSI-X structures */
+    if (bar_size & ~(MSIX_PAGE_SIZE - 1)) {
+        return -EINVAL;
     }
 
     config_offset = pci_add_capability(pdev, PCI_CAP_ID_MSIX,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]