qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 69970f: vfio/pci: Fix RTL8168 NIC quirks


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 69970f: vfio/pci: Fix RTL8168 NIC quirks
Date: Fri, 24 Jul 2015 03:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 69970fcef937bddd7f745efe39501c7716fdfe56
      
https://github.com/qemu/qemu/commit/69970fcef937bddd7f745efe39501c7716fdfe56
  Author: Alex Williamson <address@hidden>
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  vfio/pci: Fix RTL8168 NIC quirks

The RTL8168 quirk correctly describes using bit 31 as a signal to
mark a latch/completion, but the code mistakenly uses bit 28.  This
causes the Realtek driver to spin on this register for quite a while,
20k cycles on Windows 7 v7.092 driver.  Then it gets frustrated and
tries to set the bit itself and spins for another 20k cycles.  For
some this still results in a working driver, for others not.  About
the only thing the code really does in its current form is protect
the guest from sneaking in writes to the real hardware MSI-X table.
The fix is obviously to use bit 31 as we document that we should.

The other problem doesn't seem to affect current drivers as nobody
seems to use these window registers for writes to the MSI-X table, but
we need to use the stored data when a write is triggered, not the
value of the current write, which only provides the offset.

Note that only the Windows drivers from Realtek seem to use these
registers, the Microsoft drivers provided with Windows 8.1 do not
access them, nor do Linux in-kernel drivers.

Link: https://bugs.launchpad.net/qemu/+bug/1384892
Signed-off-by: Alex Williamson <address@hidden>
Cc: address@hidden # v2.1+


  Commit: 759b484c5d7f92bd01f98797c07e8543ee187888
      
https://github.com/qemu/qemu/commit/759b484c5d7f92bd01f98797c07e8543ee187888
  Author: Alex Williamson <address@hidden>
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  vfio/pci: Fix bootindex

bootindex was incorrectly changed to a device Property during the
platform code split, resulting in it no longer working.  Remove it.

Signed-off-by: Alex Williamson <address@hidden>
Cc: address@hidden # v2.3+


  Commit: f75b709853d2b2b0f2a8e149229aa1c7c1ee1c60
      
https://github.com/qemu/qemu/commit/f75b709853d2b2b0f2a8e149229aa1c7c1ee1c60
  Author: Peter Maydell <address@hidden>
  Date:   2015-07-24 (Fri, 24 Jul 2015)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-fixes-20150723.0' 
into staging

VFIO fixes for v2.4.0-rc3
- Fix Realtek NIC quirk (Alex Williamson)
- Restore bootindex functionality (Alex Williamson)

# gpg: Signature made Thu Jul 23 19:51:23 2015 BST using RSA key ID 3BB08B22
# gpg: Good signature from "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"
# gpg:                 aka "Alex Williamson <address@hidden>"

* remotes/awilliam/tags/vfio-fixes-20150723.0:
  vfio/pci: Fix bootindex
  vfio/pci: Fix RTL8168 NIC quirks

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/12e21eb088a5...f75b709853d2

reply via email to

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