[SeaBIOS] [Qemu-devel] [PATCH v5 for-2.3 21/28] hw/pci: inform bios if the system has more than one pci bridge
Michael S. Tsirkin
mst at redhat.com
Tue Mar 10 17:36:10 CET 2015
On Tue, Mar 10, 2015 at 05:32:07PM +0200, Marcel Apfelbaum wrote:
> From: Marcel Apfelbaum <marcel.a at 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 at 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
More information about the SeaBIOS
mailing list