On 02/26/13 05:18, baban devkate wrote: > Hi All, > > what I learnt? > PCI Bus driver enums PCI bus for PCI devices, checks Oprom is there, > check Oprom header, checks UEFI driver and if yes loads it into RAM. > StartImage calls Drivers entry point & it exits successfully with > driver in RAM. > > > I have one query related to supporting multiple controllers in my driver. > > Query? > Is same thing applicable for all HBA the in the system or UEFI drivers > for devices only in boot path will be executed and it is decided in BDS > phase?
Provided I understand your question correctly: UEFI will try to start your driver on relevant controllers earlier than boot devpaths are looked at. IOW you shouldn't have to care whether or not there's at least one boot option pointing into an NVMe device, your driver will be initialized earlier / independently. See the following messages from Andrew and Michael: http://thread.gmane.org/gmane.comp.bios.tianocore.devel/1155/focus=1159 http://thread.gmane.org/gmane.comp.bios.tianocore.devel/1954/focus=1990 Considering the OVMF bootdev selection policy in particular, see "OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c": PlatformBdsPolicyBehavior() ConnectRootBridge() PlatformBdsConnectConsole() PlatformBdsConnectSequence() BdsLibConnectAll() PciInitialization() AcpiInitialization() BdsLibConnectAll() <------ at the latest, your driver should BdsLibEnumerateAllBootOption() be active on all relevant SetBootOrderFromQemu() controllers after this call returns BdsLibBuildOptionFromVar(..., L"BootOrder") Laszlo ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel