[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1856834] Re: Virtio broken in qemu ppc in 4.2.0 and other versions
From: |
Laurent Vivier |
Subject: |
[Bug 1856834] Re: Virtio broken in qemu ppc in 4.2.0 and other versions |
Date: |
Sat, 11 Jan 2020 11:35:12 -0000 |
This is broken by:
commit 67113c03423a23e60915574275aed7d60e9f85e1
Author: Michael Davidsaver <address@hidden>
Date: Sun Nov 26 15:59:05 2017 -0600
e500: fix pci host bridge class/type
Correct some confusion wrt. the PCI facing
side of the PCI host bridge (not PCIe root complex).
The ref. manual for the mpc8533 (as well as
mpc8540 and mpc8540) give the class code as
PCI_CLASS_PROCESSOR_POWERPC.
While the PCI_HEADER_TYPE field is oddly omitted,
the tables in the "PCI Configuration Header"
section shows a type 0 layout using all 6 BAR
registers (as 2x 32, and 2x 64 bit regions)
So 997505065dc92e533debf5cb23012ba4e673d387
seems to be in error. Although there was
perhaps some confusion as the mpc8533
has a separate PCIe root complex.
With PCIe, a root complex has PCI_HEADER_TYPE=1.
Neither the PCI host bridge, nor the PCIe
root complex advertise class PCI_CLASS_BRIDGE_PCI.
This was confusing Linux guests, which try
to interpret the host bridge as a pci-pci
bridge, but get confused and re-enumerate
the bus when the primary/secondary/subordinate
bus registers don't have valid values.
Signed-off-by: Michael Davidsaver <address@hidden>
Signed-off-by: David Gibson <address@hidden>
** Summary changed:
- Virtio broken in qemu ppc in 4.2.0 and other versions
+ PCI broken in qemu ppc e500 in v2.12.0 and other versions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1856834
Title:
PCI broken in qemu ppc e500 in v2.12.0 and other versions
Status in QEMU:
New
Bug description:
The same qemu -M mpc... command that works on qemu-system-ppc version
2.8.0 freezes guest on bootup and shows error for qemu-system-ppc
version 4.2.0release and 4.19dirtygit:
qemu-system-ppc: virtio-blk failed to set guest notifier (-24), ensure -accel
kvm is set.
qemu-system-ppc: virtio_bus_start_ioeventfd: failed. Fallback to userspace
(slower).
ends/freezes at:
nbd: registered device at major 43
vda:
I'm using -drive file=/home/me/rawimage.dd,if=virtio and works fine in
version 2.8.0 installed with apt-get install (Ubuntu 17.04) and also
with 2.8.0 official release from git/github that I compiled/built
myself. But both of the newer releases fail on the same exact machine
same config.
I also noticed that qemu-2.8.0 was fine with mtd but the newer ones I tried
weren't, ie gave
qemu-system-ppc: -drive if=mtd: machine type does not support
if=mtd,bus=0,unit=0
(but I removed -drive if=mtd since wasn't using it anyway)
I also tried on windows but I think virtio doesn't work on windows
hosts at all? On windows host it fails the same way, even version 2.12
as well as 4.1.10...
used:
./configure --prefix=/opt/... --enable-fdt --enable-kvm --enable-debug
(basically all steps the same on same exact system same config, yet
2.8.0 works fine whether apt-get installed or built from source while
the others I built, 4.19/4.2.0 or 2.12/4.1.10(win) don't.)
In case newer qemu versions act weird on various kernels, I did try with both
vmlinuz-4.10.0-19-generic and vmlinuz-4.13.12-041312-generic (I didn't compile
them but I can provide config-..files. This is on Ubuntu 17.04 x86_64 host
emulating e500v2 cpm guest, ie -M mpc... GUEST kernel 2.6.32.44 which is why I
can't use -M ppce500 instead..)
tx
ecs
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1856834/+subscriptions