On 2012年11月23日 00:18, Peter Maydell wrote:
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
Hi Peter,

I am sorry to cause this problem.

I couldn't see  the machine's option in your command line.
such as, -machine type=pc

As it describes, you need to pass this option to enable USB.
Because USB option is set by machine's option.

Thanks. :-)

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



--

Li Zhang
IBM China Linux Technology Centre


Reply via email to