On Tue, Mar 10, 2015 at 05:32:07PM +0200, Marcel Apfelbaum wrote:
From: Marcel Apfelbaum marcel.a@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 marcel@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