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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to