At 01/19/2011 09:54 AM, Eric Blake Write:
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.
The qemu in
git.qemu.org/git/qemu.git has supported kvm.
>
> # 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.
It does not matter.