[edk2-devel] [Patch 3/5] CryptoPkg/Driver: Add Crypto PEIM, DXE, and SMM modules
Laszlo Ersek
lersek at redhat.com
Thu Jan 30 17:25:17 UTC 2020
On 01/30/20 18:10, Kinney, Michael D wrote:
> 3) EDK II community defines a small number of profiles
> for the PEI, DXE, SMM versions of these modules and
> publishes released binaries for each profile. Platforms
> integrate the published binary modules. This may
> provide more services than are required for some platforms
> but has the advantage of using a released binary from
> the EDK II project and reducing build times. Once again,
> some guidance and/or tools may be required to help the
> EDK II community determine the right number of profiles
> and the services enabled in each profile.
This sounds super interesting; I didn't think of it!
The great property of profiles seems to be that they strike a middle
ground between space savings and call safety. Namely:
- let's say we define 4 profiles,
- each profile comes with its own *wrapper* crypto API lib instance,
- in each such lib instance, the wrapper functions for those PPI /
protocol member APIs that are disabled in the PCD are *also not
implemented*, thereby causing linkage failures if a module tries to use them
- given that there are only 4 profiles, a platform can exhaustively test
building against each, and find the smallest one that works -- and
repeatably so: it's never a "bad time" to attempt building against a
smaller profile!
- in the smallest applicable profile, some functions might be included
uselessly in the PPI / protocol providers -- but not too many. That's
why we didn't pick a larger profile. And whatever is included, will be
shared between consumers.
This should work even without distributing the PPI / protocol providers
in binary form.
I think this could be a valid use case for some library instances in
edk2 *not* to implement all functions from the library class header.
Thanks!
Laszlo
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#53588): https://edk2.groups.io/g/devel/message/53588
Mute This Topic: https://groups.io/mt/70266459/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list