Tim, My focus at the moment is on standalone SMM drivers, but in order to support the dual-mode DXE_SMM_DRIVER modules we could have another instance that does the InSmm check at runtime.
Eugene > -----Original Message----- > From: Tim Lewis [mailto:[email protected]] > Sent: Friday, September 30, 2016 10:41 AM > To: Cohen, Eugene <[email protected]>; Laszlo Ersek > <[email protected]>; [email protected] <edk2- > [email protected]>; Kinney, Michael D > <[email protected]>; Yao, Jiewen <[email protected]>; > Andrew Fish ([email protected]) <[email protected]> > Subject: RE: [edk2] RFC: ProtocolLib for cross DXE and SMM Protocol > and Handle Services > > Eugene -- > > Since SMM drivers today are actually DXE drivers during the > initialization phase, are you going to (a) have your library check > InSmm? or (b) only work with pure SMM stand-alone drivers? > > Thanks, > > Tim > > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf > Of Cohen, Eugene > Sent: Friday, September 30, 2016 9:37 AM > To: Laszlo Ersek <[email protected]>; [email protected] > <[email protected]>; Kinney, Michael D > <[email protected]>; Yao, Jiewen <[email protected]>; > Andrew Fish ([email protected]) <[email protected]> > Subject: Re: [edk2] RFC: ProtocolLib for cross DXE and SMM Protocol > and Handle Services > > 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 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

