提交 f75b7098 编写于 作者: P Peter Maydell

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 <alex.williamson@redhat.com>"
# gpg:                 aka "Alex Williamson <alex@shazbot.org>"
# gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
# gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"

* remotes/awilliam/tags/vfio-fixes-20150723.0:
  vfio/pci: Fix bootindex
  vfio/pci: Fix RTL8168 NIC quirks
Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
...@@ -1517,7 +1517,7 @@ static uint64_t vfio_rtl8168_window_quirk_read(void *opaque, ...@@ -1517,7 +1517,7 @@ static uint64_t vfio_rtl8168_window_quirk_read(void *opaque,
memory_region_name(&quirk->mem), memory_region_name(&quirk->mem),
vdev->vbasedev.name); vdev->vbasedev.name);
return quirk->data.address_match ^ 0x10000000U; return quirk->data.address_match ^ 0x80000000U;
} }
break; break;
case 0: /* data */ case 0: /* data */
...@@ -1558,7 +1558,7 @@ static void vfio_rtl8168_window_quirk_write(void *opaque, hwaddr addr, ...@@ -1558,7 +1558,7 @@ static void vfio_rtl8168_window_quirk_write(void *opaque, hwaddr addr,
switch (addr) { switch (addr) {
case 4: /* address */ case 4: /* address */
if ((data & 0x7fff0000) == 0x10000) { if ((data & 0x7fff0000) == 0x10000) {
if (data & 0x10000000U && if (data & 0x80000000U &&
vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX) { vdev->pdev.cap_present & QEMU_PCI_CAP_MSIX) {
trace_vfio_rtl8168_window_quirk_write_table( trace_vfio_rtl8168_window_quirk_write_table(
...@@ -1566,11 +1566,9 @@ static void vfio_rtl8168_window_quirk_write(void *opaque, hwaddr addr, ...@@ -1566,11 +1566,9 @@ static void vfio_rtl8168_window_quirk_write(void *opaque, hwaddr addr,
vdev->vbasedev.name); vdev->vbasedev.name);
memory_region_dispatch_write(&vdev->pdev.msix_table_mmio, memory_region_dispatch_write(&vdev->pdev.msix_table_mmio,
(hwaddr)(quirk->data.address_match (hwaddr)(data & 0xfff),
& 0xfff), (uint64_t)quirk->data.address_mask,
data, size, MEMTXATTRS_UNSPECIFIED);
size,
MEMTXATTRS_UNSPECIFIED);
} }
quirk->data.flags = 1; quirk->data.flags = 1;
...@@ -3751,7 +3749,6 @@ static Property vfio_pci_dev_properties[] = { ...@@ -3751,7 +3749,6 @@ static Property vfio_pci_dev_properties[] = {
VFIO_FEATURE_ENABLE_VGA_BIT, false), VFIO_FEATURE_ENABLE_VGA_BIT, false),
DEFINE_PROP_BIT("x-req", VFIOPCIDevice, features, DEFINE_PROP_BIT("x-req", VFIOPCIDevice, features,
VFIO_FEATURE_ENABLE_REQ_BIT, true), VFIO_FEATURE_ENABLE_REQ_BIT, true),
DEFINE_PROP_INT32("bootindex", VFIOPCIDevice, bootindex, -1),
DEFINE_PROP_BOOL("x-mmap", VFIOPCIDevice, vbasedev.allow_mmap, true), DEFINE_PROP_BOOL("x-mmap", VFIOPCIDevice, vbasedev.allow_mmap, true),
/* /*
* TODO - support passed fds... is this necessary? * TODO - support passed fds... is this necessary?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册