在 2013-01-07一的 22:44 -0600,Doug Goldstein写道:
On Mon, Jan 7, 2013 at 7:58 PM, liguang
<lig.fnst(a)cn.fujitsu.com> wrote:
> Now, it's impossible to arrange devices into multi-pci-bus,
> for example:
> <sound model='ac97'>
> <address type='pci' domain='0x0000' bus='0x00'
slot='0x04' function='0x0'/>
> </sound>
> <video>
> <model type='cirrus' vram='9216' heads='1'/>
> <address type='pci' domain='0x0000' bus='0x1'
slot='0x02' function='0x0'/>
> </video>
> libvirt will complain about "bus != 0",
> fortunately, qemu supports pci-to-pci bridge,
> if we want to use multi-pci-bus, we can define
> 2 pci bridge controllers, then attach 1 to the other
> as a subordinate pci-bus, so, 2 pci-buses appear.
> for example:
> <controller type='pci-bridge' index='0'/>
> <controller type='pci-bridge' index='1'>
> <address type='pci' domain='0x0000' bus='0x00'
slot='0x05' function='0x0' bridge='0'/>
> </controller>
> <sound model='ac97'>
> <address type='pci' domain='0x0000' bus='0x01'
slot='0x02' function='0x0' bridge='1'/>
> </sound>
> <video>
> <model type='cirrus' vram='9216' heads='1'/>
> <address type='pci' domain='0x0000' bus='0x00'
slot='0x02' function='0x0' bridge='0'/>
> </video>
>
>
> src/conf/device_conf.c | 11 ++++++++++-
> src/conf/device_conf.h | 1 +
> src/conf/domain_conf.c | 5 ++++-
> src/conf/domain_conf.h | 1 +
> src/qemu/qemu_command.c | 25 ++++++++++++++++++++-----
> 5 files changed, 36 insertions(+), 7 deletions(-)
>
I had a few comments to the specific patches. I think you're missing
one part to the whole series which should probably be 1/3 in the patch
series. Adding a QEMU_CAP for PCI Bridge support and specifically
probing it or adding it where it was supported. Since we're modifying
the QEMU command line arguments this series probably needs to add some
test cases as well.
OK, thanks!
--
regards!
li guang