qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH v8 00/16] spapr: add support for pci hotplug


From: Michael Roth
Subject: Re: [Qemu-ppc] [PATCH v8 00/16] spapr: add support for pci hotplug
Date: Thu, 30 Apr 2015 16:04:49 -0500
User-agent: alot/0.3.6

Quoting David Gibson (2015-04-29 23:13:04)
> On Wed, Apr 22, 2015 at 01:28:04AM -0500, Michael Roth wrote:
> > These patches are based on spapr-next, and can also be obtained
> > from:
> 
> Thanks Michael.
> 
> I've made a few small conflict fixes and merged this into spapr-next.

Great, thanks!

> 
> Could you please:
> 
>   a) Pull the new spapr-next and test that your code still works

I've run it through all my basic testing and things look good. I did
need one change though regarding the 2.4 machine type intro though:

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index a8116d0..8fbcaf5 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1919,6 +1919,7 @@ static void spapr_machine_register_types(void)
     type_register_static(&spapr_machine_2_1_info);
     type_register_static(&spapr_machine_2_2_info);
     type_register_static(&spapr_machine_2_3_info);
+    type_register_static(&spapr_machine_2_4_info);
 }
 
 type_init(spapr_machine_register_types)

Just needs to get squashed into "pseries: Add pseries-2.4 machine type"
I'd imagine.

> 
>   b) Send me some minimal instructions for doing a basic test of PCI
>      hotplug.  I have some spapr cleanups in mind, and I'd like to be
>      able to check for myself that I at least haven't broken things
>      totally.

For all the following tests, the following guest distros (assuming they're
updated) should support the hotplug event and will do the whole device
bring-up/tear-down in response to hotplug/unplug: Fedora 21+, RHEL 6.6+, 
rhel 7.1+, sles12+, ubuntu 14.04+.

For quick testing just booting to SLOF you can do a reboot after
device_add/device_del to get the device picked up by SLOF PCI enumeration,
or finalized by QEMU's reset hooks, respectively. This won't exercise any
RTAS calls or actual device functionality, but should touch most of the
hotplug-related code.

= BASIC TEST

 # start guest with an extra PHB to cover hotplug across multiple PHBs

 qemu ... -device spapr-pci-host-bridge,index=1,phb1

 # from QEMU HMP monitor

 netdev_add user,id=hpnet0.0
 device_add virtio-net-pci,id=hp0.0,netdev=hpnet0.0 #PHB 0
 netdev_add user,id=hpnet1.0
 device_add virtio-net-pci,id=hp1.0,netdev=hpnet1.0,bus=phb1.0 #PHB 1

 <if running supported distro, verify devices show up in lspci, and
  that interfaces can be brought online and lease IPs>
 <if just booting to SLOF, verify devices are preset via 'info pci'
  monitor command>

 device_del hp0.0
 netdev_del hpnet0.0
 device_del hp1.0
 netdev_del hpnet1.0

 <if running supported distro, verify devices are removed from lspci>
 <if just booting to SLOF, issue system_reset and verify devices
  are removed from output of 'info pci' monitor command>

= MULTIFUNCTION HOTPLUG TEST

 #start guest as above

 netdev_add user,id=hpnet1.0.0
 device_add virtio-net-pci,id=hp1.0.0,netdev=hpnet1.0.0,bus=phb1.0,\
    addr=0x0.0,multifunction=on
 netdev_add user,id=hpnet1.0.1
 device_add virtio-net-pci,id=hp1.0.1,netdev=hpnet1.0.1,bus=phb1.0,\
    addr=0x0.1,multifunction=on

 <verify each function as above, and that they're functions of the same
  device>

 device_del hp1.0.0
 netdev_del hpnet1.0.0
 device_del hp1.0.1
 netdev_del hpnet1.0.1

 <verify each function as above>

> 
> -- 
> David Gibson                    | I'll have my music baroque, and my code
> david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
>                                 | _way_ _around_!
> http://www.ozlabs.org/~dgibson




reply via email to

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