Laszlo,

> As far as I know:
> - the DXE and SMM protocol databases are distinct,
> - the same protocol GUID may or may not be installed (on one or more)
> handle(s) in either,
> - even if a protocol GUID exists uniquely in exactly one of those databases,
> the locator function would have to return which database the GUID was
> found.
> 
> My point is that every wrapper function that returns a protocol interface (or
> several protocol interfaces), or handles, each such return value will likely
> have to be qualified with the database where it was found.

The intent here is to only search the UEFI DB from a DXE/UEFI driver and the 
SMM DB from an SMM driver and not to cross between.  So which protocol DB is 
searched is purely a function of the module type (i.e. what instance of the 
ProtocolLib it was linked against).  This is analogous to what is done with 
MemoryAllocationLib which either allocates from the UEFI memory pools for 
UEFI/DXE modules (UefiMemoryAllocationLib instance) or from the SMM memory 
pools for SMM modules (SmmMemoryAllocationLib).

Sorry I wasn't more clear initially.

Eugene
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to