[Bug 1571075] Re: ppc emulated pseries expecting 'pci.0' bus fails to start

Dan Streetman dan.streetman at canonical.com
Tue Apr 19 13:30:11 UTC 2016


> should we close this bug?

probably, yeah.

> Can you explain under which cases this bug is needed? Does it depend
on the specific ppc64 hardware?

i suspect this is a problem on trusty, when using ppc hardware or x86
hardware (meaning, setting up a ppc guest with virsh on either x86 or
ppc host hw).  But I don't have access to ppc hw so I can't verify
there.

> Since this patch is upstream and in the xenial tree, I *suspect* your concern about this patch breaking certain existing cases
> shouldn't apply, but I could be wrong.

oh i agree, it shouldn't break anything, i was just listing the
theoretical regressions. :-)

> Certainly such a concern along with a low priority means this probably does not qualify for
> an SRU.

well if anyone wanted to use qemu-system-ppc with libvirt on trusty,
this would be needed, but I suspect nobody does; and my interest was
emulating ppc on an x86 box, which appears to have other problems on
trusty, so we'll just move to xenial.

** Changed in: libvirt (Ubuntu Trusty)
       Status: New => Won't Fix

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1571075

Title:
  ppc emulated pseries expecting 'pci.0' bus fails to start

Status in libvirt package in Ubuntu:
  Fix Released
Status in libvirt source package in Trusty:
  Won't Fix

Bug description:
  [impact]

  qemu's various architecture-specific emulators expect the pci bus to
  be referred to either as 'pci' or 'pci.0', and libvirt must know which
  to use.  On trusty, the latest qemu-system-ppc (and ppc64) emulators
  require 'pci.0' when using the 'pseries' machine type, but the libvirt
  uses 'pci'.

  The result is no ppc/ppc64 virsh instance can be started; they will fail with:
  $ virsh start ppc64_test
  error: Failed to start domain ppc64_test
  error: internal error: process exited while connecting to monitor: Warning: Disabling some instructions which are not emulated by TCG (0x0, 0x4)
  qemu-system-ppc64: -device VGA,id=video0,bus=pci,addr=0x3: Bus 'pci' not found

  the upstream patch to fix this is commit
  27b2b987bf41ba1ba3aab8c8d9b2d8bc740fd925 ('Fix pci bus naming for
  PPC')

  [test case]

  on a trusty system, install:

  uvtool
  qemu (which pulls in the qemu-system-ppc package)
  qemu-slof
  openbios-ppc

  follow the uvt-kvm man page instructions for getting a base image with
  uvt-simplestreams-libvirt, and creating a new libvirt instance.  Note
  you can use a x86 base image, just to get the libvirt xml created;
  e.g.

  $ uvt-simplestreams-libvirt sync
  $ uvt-kvm create ppc64_test

  that will create a virsh instance, but for x86; so:

  $ virsh destroy ppc64_test
  $ virsh edit ppc64_test

  change the xml like this, to make the instance actually ppc64:
  @@ -1,11 +1,11 @@
  -<domain type='kvm'>
  +<domain type='qemu'>
     <name>ppc64_test</name>
     <uuid>f3d6cc82-01b7-4f0d-b910-1f2f11c504f4</uuid>
     <memory unit='KiB'>524288</memory>
     <currentMemory unit='KiB'>524288</currentMemory>
     <vcpu placement='static'>1</vcpu>
     <os>
  -    <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
  +    <type arch='ppc64' machine='pseries'>hvm</type>
       <boot dev='hd'/>
     </os>
     <features>
  @@ -18,7 +18,7 @@
     <on_reboot>restart</on_reboot>
     <on_crash>destroy</on_crash>
     <devices>
  -    <emulator>/usr/bin/kvm-spice</emulator>
  +    <emulator>/usr/bin/qemu-system-ppc64</emulator>
       <disk type='file' device='disk'>
         <driver name='qemu' type='qcow2'/>
         <source file='/var/lib/uvtool/libvirt/images/ppc64_test.qcow'/>

  save it, and try to start it.

  now try to start it:
  $ virsh start ppc64_test

  it will fail with the reported error.

  [regression potential]

  since the patch to fix this changes when libvirt uses the 'pci' name
  or the 'pci.0' name, this may break existing virsh instances if the
  logic is not correct to map the pci naming to the current qemu arch
  and version.  However this only changes behavior for qemu-system-ppc
  and -ppc64; no regression is possible for qemu-system-x86_64 or -i386
  or any other qemu-system-* besides -ppc and -ppc64.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1571075/+subscriptions



More information about the Ubuntu-sponsors mailing list