[Top][All Lists]

[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
    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.

  PCI broken in qemu ppc e500 in v2.12.0 and other versions

Status in QEMU:

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 

  ends/freezes at:
  nbd: registered device at major 43

  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 
  (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...

  ./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 which is why I 
can't use -M ppce500 instead..)

To manage notifications about this bug go to:

reply via email to

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