On 01/18/2011 06:22 PM, Wen Congyang wrote:
At 01/18/2011 11:16 PM, Eric Blake Write:
> On 01/17/2011 10:39 PM, Wen Congyang wrote:
>>> + cmd = virCommandNewArgList(qemu,
>>> + "-device",
"pci-assign,?",
>>> + NULL);
>>
>> The qemu that I used does not support '-device pci-assign,?'...
>> So, I can not start the guest with this patch.
>>
>> The qemu is cloned from here:
>>
http://git.qemu.org/git/qemu.git
>
> What do the following commands produce (assuming that both qemu and
> qemu-kvm on your PATH are the binaries that you are testing with)?
After builing qemu, I only have the qemy-system-x86_64 command
That explains it.
git.qemu.org/git/qemu.git is the upstream qemu
repository, and lacks kvm integration. As such, it lacks -device
pci-assign.
To build qemu-kvm, you also need to track
git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git (which is heavily
based on the former qemu.git). Without kvm support, qemu will still be
able to emulate x86_64 platforms, but it's noticeably slower.
# qemu-system-x86_64 --version
QEMU emulator version 0.13.50, Copyright (c) 2003-2008 Fabrice Bellard
Good - my reproduction of your issue (and my patch) was correct.
# qemu-system-x86_64 -device ? -device pci-assign,? -device
virtio-blk-pci,?
name "virtio-9p-pci", bus PCI
...
name "isa-debugcon", bus ISA
virtio-blk-pci.class=hex32
virtio-blk-pci.drive=drive
virtio-blk-pci.logical_block_size=uint16
virtio-blk-pci.physical_block_size=uint16
virtio-blk-pci.min_io_size=uint16
virtio-blk-pci.opt_io_size=uint32
virtio-blk-pci.bootindex=int32
virtio-blk-pci.discard_granularity=uint32
virtio-blk-pci.vectors=uint32
virtio-blk-pci.indirect_desc=on/off
virtio-blk-pci.scsi=on/off
And this, as desired, is a successful feature probe even though it lacks
pci-assign.* information.
Sorry for getting your name wrong in my commit message.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org