[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1920013] [NEW] Unable to pass-through PCIe devices from a ppc64le h
From: |
cyrozap |
Subject: |
[Bug 1920013] [NEW] Unable to pass-through PCIe devices from a ppc64le host to an x86_64 guest |
Date: |
Thu, 18 Mar 2021 12:22:57 -0000 |
Public bug reported:
Attempting to pass through a PCIe device from a ppc64le host to an
x86_64 guest with QEMU v5.2.0-3031-g571d413b5d (built from git master)
fails with the following error:
include/exec/memory.h:43:IOMMU_MEMORY_REGION: Object 0x10438eb00 is
not an instance of type qemu:iommu-memory-region
To reproduce this issue, simply run the following command on a POWER9
system:
qemu-system-x86_64 -machine q35 -device vfio-pci,host=$DBSF
Where $DBSF is a domain:bus:slot.function PCIe device address.
This also fails with QEMU 3.1.0 (from Debian Buster), so I assume this
has never worked. Helpfully, the error message it prints seems to
indicate where the problem is:
hw/vfio/spapr.c:147:vfio_spapr_create_window: Object 0x164473510 is
not an instance of type qemu:iommu-memory-region
My kernel (Linux v5.8.0 plus some small unrelated patches) is built with
the page size set to 4k, so this issue shouldn't be due to a page size
mismatch. And as I stated earlier, my host arch is ppc64le, so it
shouldn't be an endianness issue, either.
I assume this should be possible (in theory) since I've seen reports of
others getting PCIe passthrough working with aarch64 guests on x86_64
hosts, but of course that (passthrough to weird guest arch on x86) is
somewhat the opposite of what I'm trying to do (passthrough to x86 on
weird host arch) so I don't know for sure. If it is possible, I'm
willing to develop a fix myself, but I'm almost completely unfamiliar
with QEMU's internals so if anyone has any advice on where to start I'd
greatly appreciate it.
** Affects: qemu
Importance: Undecided
Status: New
** Tags: ppc
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1920013
Title:
Unable to pass-through PCIe devices from a ppc64le host to an x86_64
guest
Status in QEMU:
New
Bug description:
Attempting to pass through a PCIe device from a ppc64le host to an
x86_64 guest with QEMU v5.2.0-3031-g571d413b5d (built from git master)
fails with the following error:
include/exec/memory.h:43:IOMMU_MEMORY_REGION: Object 0x10438eb00
is not an instance of type qemu:iommu-memory-region
To reproduce this issue, simply run the following command on a POWER9
system:
qemu-system-x86_64 -machine q35 -device vfio-pci,host=$DBSF
Where $DBSF is a domain:bus:slot.function PCIe device address.
This also fails with QEMU 3.1.0 (from Debian Buster), so I assume this
has never worked. Helpfully, the error message it prints seems to
indicate where the problem is:
hw/vfio/spapr.c:147:vfio_spapr_create_window: Object 0x164473510
is not an instance of type qemu:iommu-memory-region
My kernel (Linux v5.8.0 plus some small unrelated patches) is built
with the page size set to 4k, so this issue shouldn't be due to a page
size mismatch. And as I stated earlier, my host arch is ppc64le, so it
shouldn't be an endianness issue, either.
I assume this should be possible (in theory) since I've seen reports
of others getting PCIe passthrough working with aarch64 guests on
x86_64 hosts, but of course that (passthrough to weird guest arch on
x86) is somewhat the opposite of what I'm trying to do (passthrough to
x86 on weird host arch) so I don't know for sure. If it is possible,
I'm willing to develop a fix myself, but I'm almost completely
unfamiliar with QEMU's internals so if anyone has any advice on where
to start I'd greatly appreciate it.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1920013/+subscriptions
- [Bug 1920013] [NEW] Unable to pass-through PCIe devices from a ppc64le host to an x86_64 guest,
cyrozap <=