Message ID | 4cad93cd-9762-896f-c858-b9480340524e@gmx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, 9 Oct 2016 19:56:03 +0200 Thorsten Kohfeldt <thorsten.kohfeldt@gmx.de> wrote: > From: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org> > Date: Sat, 24 Sep 2016 20:43:20 +0200 > Subject: [PATCH] vfio: Fix vfio_rtl8168_quirk_data_read address offset > > Introductory comment for rtl8168 VFIO MSI-X quirk states: > At BAR2 offset 0x70 there is a dword data register, > offset 0x74 is a dword address register. > vfio: vfio_bar_read(0000:05:00.0:BAR2+0x70, 4) = 0xfee00398 // read data > > Thus, correct offset for data read is 0x70, > but function vfio_rtl8168_quirk_data_read() wrongfully uses offset 0x74. > > Signed-off-by: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org> I need a real email address for these, can I replace this with your gmx.de email? Thanks, Alex > --- > hw/vfio/pci-quirks.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c > index bec694c..1e97bc4 100644 > --- a/hw/vfio/pci-quirks.c > +++ b/hw/vfio/pci-quirks.c > @@ -898,7 +898,7 @@ static uint64_t vfio_rtl8168_quirk_data_read(void *opaque, > { > VFIOrtl8168Quirk *rtl = opaque; > VFIOPCIDevice *vdev = rtl->vdev; > - uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x74, size); > + uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x70, size); > > if (rtl->enabled && (vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX)) { > hwaddr offset = rtl->addr & 0xfff;
Am 10.10.2016 um 17:18 schrieb Alex Williamson: > On Sun, 9 Oct 2016 19:56:03 +0200 > Thorsten Kohfeldt <thorsten.kohfeldt@gmx.de> wrote: > >> From: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org> >> Date: Sat, 24 Sep 2016 20:43:20 +0200 >> Subject: [PATCH] vfio: Fix vfio_rtl8168_quirk_data_read address offset >> >> Introductory comment for rtl8168 VFIO MSI-X quirk states: >> At BAR2 offset 0x70 there is a dword data register, >> offset 0x74 is a dword address register. >> vfio: vfio_bar_read(0000:05:00.0:BAR2+0x70, 4) = 0xfee00398 // read data >> >> Thus, correct offset for data read is 0x70, >> but function vfio_rtl8168_quirk_data_read() wrongfully uses offset 0x74. >> >> Signed-off-by: Thorsten Kohfeldt <mailto__qemu-devel@nongnu.org> > > I need a real email address for these, can I replace this with your > gmx.de email? Thanks, > > Alex Yes, thank you for taking over from here. Regards, Thorsten >> --- >> hw/vfio/pci-quirks.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c >> index bec694c..1e97bc4 100644 >> --- a/hw/vfio/pci-quirks.c >> +++ b/hw/vfio/pci-quirks.c >> @@ -898,7 +898,7 @@ static uint64_t vfio_rtl8168_quirk_data_read(void *opaque, >> { >> VFIOrtl8168Quirk *rtl = opaque; >> VFIOPCIDevice *vdev = rtl->vdev; >> - uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x74, size); >> + uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x70, size); >> >> if (rtl->enabled && (vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX)) { >> hwaddr offset = rtl->addr & 0xfff; > >
diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index bec694c..1e97bc4 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -898,7 +898,7 @@ static uint64_t vfio_rtl8168_quirk_data_read(void *opaque, { VFIOrtl8168Quirk *rtl = opaque; VFIOPCIDevice *vdev = rtl->vdev; - uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x74, size); + uint64_t data = vfio_region_read(&vdev->bars[2].region, addr + 0x70, size); if (rtl->enabled && (vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX)) { hwaddr offset = rtl->addr & 0xfff;