On 29 October 2012 10:25, Alexander Graf <ag...@suse.de> wrote: > From: zhlci...@gmail.com <zhlci...@gmail.com> > > When -usb option is used, global varible usb_enabled is set. > And all the plaform will create one USB controller according > to this variable. In fact, global varibles make code hard > to read. > > So this patch is to remove global variable usb_enabled and > add USB option in machine options. All the plaforms will get > USB option value from machine options. > > USB option of machine options will be set either by: > * -usb > * -machine type=pseries,usb=on > > Both these ways can work now. They both set USB option in > machine options. In the future, the first way will be removed.
This commit breaks "qemu-system-i386 -usb", which used to create a USB bus and now does not. Example to reproduce: $ dd if=/dev/zero bs=4096 count=1024 of=usb.img $ ./i386-softmmu/qemu-system-i386 -clock unix -monitor stdio -usb -drive if=none,file=usb.img,id=myusb -device usb-storage,id=myusb,drive=myusb,removable=on should boot up, but now fails with: qemu-system-i386: -device usb-storage,id=myusb,drive=myusb,removable=on: No 'usb-bus' bus found for device 'usb-storage' This worked in 1.2 so it is a regression. In particular it presumably means that trying to migrate a VM from 1.2 qemu that used USB will fail. -- PMM