On Thu, Dec 31, 2020 at 07:08:25PM -0800, Bin Gao wrote:
> On physical hardware, some PCI devices are not detectable when
> UEFI invokes our InitializeYourself() function. But they
> are guaranteed to be available before UEFI invokes our
> PreparToBoot() function.
> 
> Signed-off-by: Bin Gao <gao...@amazon.com>
> ---
>  src/fw/csm.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/src/fw/csm.c b/src/fw/csm.c
> index f64bc73..1bd821e 100644
> --- a/src/fw/csm.c
> +++ b/src/fw/csm.c
> @@ -64,7 +64,9 @@ static void
>  csm_maininit(struct bregs *regs)
>  {
>      interface_init();
> -    pci_probe_devices();
> +
> +    if (CONFIG_CSM && CONFIG_QEMU_HARDWARE)
> +        pci_probe_devices();
>  
>      csm_compat_table.PnPInstallationCheckSegment = SEG_BIOS;
>      csm_compat_table.PnPInstallationCheckOffset = get_pnp_offset();
> @@ -144,6 +146,13 @@ handle_csm_0002(struct bregs *regs)
>          return;
>      }
>  
> +    // On physical hardware, some PCI devices are not detectable when
> +    // UEFI invokes our InitializeYourself() function. But they
> +    // are guaranteed to be available before UEFI invokes our
> +    // PreparToBoot() function.
> +    if (CONFIG_CSM && !CONFIG_QEMU_HARDWARE)
> +        pci_probe_devices();

This looks like a hack.  I'm not sure what's being attempted, but a
more scalable solution will be needed.

-Kevin
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to