On Feb 25, 2013, at 8:18 PM, baban devkate <baban...@gmail.com> 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?
> 

I'm not 100% sure what you are asking? 

The model in EFI is the Boot Manager (called BDS in PI) can only request 
certain device paths (console in, console out, boot device, etc.) be connected 
to improve boot performance. Where connected means calling the Driver Binding 
Start() functions while passing in the remaining device path. So the parent 
gets called to produce the child, then the child gets called, and this process 
keeps happening until the device path is produced. UEFI advocates that if 
possible the driver optimize its start behavior by utilizing information in the 
Start() functions remaining device path to prevent the need to do things like 
discover devices on a bus. 

So for example a Fibre Channel fabric could be very very complex and attempting 
to discover all the possible devices on the fabric could be very slow. Having 
the remaining device path allows a much quicker connection, and can remove the 
need to wait for things like a timeout when probing for a device that does not 
exist. 

In the case of the PCI bus driver it is not possible to create just the handle 
for a single device. Efficient PCI enumeration requires discovery of all the 
PCI devices and assigning resources to all of the devices. So given the work 
has to be done the PCI bus driver choses to produce handles for all its 
children , even though a remaining device path was passed in. 

Thanks,

Andrew Fish
------------------------------------------------------------------------------
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

Reply via email to