On Tue, Mar 10, 2015 at 05:32:07PM +0200, Marcel Apfelbaum wrote: > From: Marcel Apfelbaum <marce...@redhat.com> > > The bios looks for 'etc/extra-pci-roots' to decide if > is going to scan further buses after bus 0 tree. > > Signed-off-by: Marcel Apfelbaum <mar...@redhat.com>
Again it's not the right thing to do for extra root complexes, only works for PXB. > --- > hw/i386/pc.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index ae3ef0a..71d2f5b 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1072,9 +1072,22 @@ typedef struct PcGuestInfoState { > static > void pc_guest_info_machine_done(Notifier *notifier, void *data) > { > + PCIHostState *host; > + int hosts = 0; > PcGuestInfoState *guest_info_state = container_of(notifier, > PcGuestInfoState, > machine_done); > + HOST_BRIDGE_FOREACH(host) { > + hosts++; > + } > + > + if (hosts && guest_info_state->info.fw_cfg) { > + uint64_t *val = g_malloc(sizeof(*val)); > + *val = cpu_to_le64(hosts - 1); > + fw_cfg_add_file(guest_info_state->info.fw_cfg, > + "etc/extra-pci-roots", val, sizeof(*val)); > + } > + > acpi_setup(&guest_info_state->info); > } > > -- > 2.1.0