[efi] Allow EFI to control PCI bus enumeration

EFI performs its own PCI bus enumeration.  Respect this, and start
controlling devices only when instructed to do so by EFI.

As a side benefit, we should now correctly create multiple SNP
instances for multi-port devices.

This should also fix the problem of failing to enumerate devices
because the PCI bridges have not yet been enabled at the time the iPXE
driver is loaded.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2011-02-17 00:27:51 +00:00
parent e2b5a58869
commit d7736fbb7b
7 changed files with 693 additions and 296 deletions

View File

@@ -41,6 +41,7 @@ EFI_STATUS EFIAPI _efidrv_start ( EFI_HANDLE image_handle,
initialise();
startup();
/* Install SNP driver and return */
return RC_TO_EFIRC ( efi_snp_install () );
return 0;
}
REQUIRE_OBJECT ( efi_snp );