[libvirt] [PATCH v2 0/2] add pci-bridge support

liguang lig.fnst at cn.fujitsu.com
Tue Jan 8 01:58:48 UTC 2013


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(-)




More information about the libvir-list mailing list