On Tue, 18 Jul 2023 at 20:40, Taylor Beebe <t...@taylorbeebe.com> wrote: > > Reference: https://github.com/tianocore/edk2/pull/4590 > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=4492 > > The UEFI and SMM MAT logic contains duplicate logic for manipulating image > properties records which is used to track runtime images. > This patch series adds a new library, ImagePropertiesRecordLib, > which consolidates this logic and fixes the bugs which currently exist in > the MAT logic. > > The first patch adds the ImagePropertiesRecordLib implementation which > is a copy of the UEFI MAT logic with minor modifications to remove the > reliance on globabl variables and make the code unit testable. > > The second patch adds a unit test for the ImagePropertiesRecordLib. The > logic tests various potential layouts of the EFI memory map and runtime > images. 3/4 of these tests will fail which demonstrates the MAT logic > bugs. > > The third patch fixes the logic in the ImagePropertiesRecordLib so > that all of the unit tests pass and the MAT logic can be fixed by > using the library. > > The remaining patches add library instances to DSC files and remove > the image properties record logic from the SMM and UEFI MAT logic. >
This all looks fine to me, but this is another series of the pattern - break out some functionality into a new lib class - provide a single implementation of that lib class - track down every DSC in existence and add the same library class resolution to each. Could we *please* have a way for library classes to be declared with a default resolution? That way, series such as this one will be a lot leaner, and as a bonus, I am sure that there is a lot of boilerplate that can be removed from existing DSCs for library classes that only have a single implementation. For this series, Acked-by: Ard Biesheuvel <a...@kernel.org> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107031): https://edk2.groups.io/g/devel/message/107031 Mute This Topic: https://groups.io/mt/100221556/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-