Re: 回复: [edk2-devel] [PATCH 1/1] MdePkg/BaseRngLibDxe: Add DXE_RUNTIME_DRIVER class to RngLib
Pete Batard
pete at akeo.ie
Thu Nov 12 12:09:56 UTC 2020
Hi Liming,
On 2020.11.12 01:52, gaoliming wrote:
> I agree this library instance can be used for RUNTIME driver before boot to
> OS.
>
> Can you let me know which runtime driver consumes it?
It's OpenSslLib.
As per
https://github.com/tianocore/edk2-platforms/commit/1e09147a01aeb45aa43e36923d96a1d6b0ec9106
we had to introduce a dependency to RngLib to keep OpenSslLib happy, and
the build breaks in VariableRuntimeDxe since it depends on OpenSslLib
which itself now depends on RngLib.
Here's the verbose build output that shows it:
Library instances of module
[/usr/src/edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf]
[AARCH64]:
MemoryAllocationLib :
/usr/src/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
BaseLib : /usr/src/edk2/MdePkg/Library/BaseLib/BaseLib.inf
SynchronizationLib :
/usr/src/edk2/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
UefiLib : /usr/src/edk2/MdePkg/Library/UefiLib/UefiLib.inf
UefiBootServicesTableLib :
/usr/src/edk2/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
BaseMemoryLib :
/usr/src/edk2/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
DebugLib :
/usr/src/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
UefiRuntimeLib :
/usr/src/edk2/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
DxeServicesTableLib :
/usr/src/edk2/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
UefiDriverEntryPoint :
/usr/src/edk2/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
PcdLib : /usr/src/edk2/MdePkg/Library/DxePcdLib/DxePcdLib.inf
HobLib : /usr/src/edk2/MdePkg/Library/DxeHobLib/DxeHobLib.inf
TpmMeasurementLib :
/usr/src/edk2/SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
AuthVariableLib :
/usr/src/edk2/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
VarCheckLib :
/usr/src/edk2/MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
NULL2 :
/usr/src/edk2/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
NULL1 :
/usr/src/edk2/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
NULL4 :
/usr/src/edk2/MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
DevicePathLib :
/usr/src/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
PrintLib :
/usr/src/edk2/MdePkg/Library/BasePrintLib/BasePrintLib.inf
BaseCryptLib :
/usr/src/edk2/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
PlatformSecureLib :
/usr/src/edk2/OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
UefiRuntimeServicesTableLib :
/usr/src/edk2/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
OpensslLib :
/usr/src/edk2/CryptoPkg/Library/OpensslLib/OpensslLib.inf
IntrinsicLib :
/usr/src/edk2/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
build.py...
/usr/src/edk2-platforms/Platform/RaspberryPi/RPi4/RPi4.dsc(...): error
1001: Module type [DXE_RUNTIME_DRIVER] is not supported by library
instance [/usr/src/edk2/MdePkg/Library/DxeRngLib/DxeRngLib.inf]
consumed by
[/usr/src/edk2/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf]
> And, please make sure
> the consumer code runs in boot phase only.
That's for Secure Boot, so I think we should be okay.
Regards,
/Pete
>
> Thanks
> Liming
>> -----é®ä»¶å件-----
>> å件人: bounce+27952+67295+4905953+8761045 at groups.io
>> <bounce+27952+67295+4905953+8761045 at groups.io> 代表 Samer
>> El-Haj-Mahmoud
>> åéæ¶é´: 2020å¹´11æ12æ¥ 1:38
>> æ¶ä»¶äºº: Pete Batard <pete at akeo.ie>; devel at edk2.groups.io
>> æé: michael.d.kinney at intel.com; gaoliming at byosoft.com.cn;
>> zhiguang.liu at intel.com
>> 主é¢: Re: [edk2-devel] [PATCH 1/1] MdePkg/BaseRngLibDxe: Add
>> DXE_RUNTIME_DRIVER class to RngLib
>>
>> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud at arm.com>
>>
>>> -----Original Message-----
>>> From: Pete Batard <pete at akeo.ie>
>>> Sent: Wednesday, November 4, 2020 2:04 PM
>>> To: devel at edk2.groups.io
>>> Cc: michael.d.kinney at intel.com; gaoliming at byosoft.com.cn;
>>> zhiguang.liu at intel.com; Samer El-Haj-Mahmoud <Samer.El-Haj-
>>> Mahmoud at arm.com>
>>> Subject: [PATCH 1/1] MdePkg/BaseRngLibDxe: Add DXE_RUNTIME_DRIVER
>>> class to RngLib
>>>
>>> The Raspberry Pi platform with Secure Boot enabled currently fails to
> build
>>> with error:
>>>
>>> Module type [DXE_RUNTIME_DRIVER] is not supported by library
>> instance
>>>
>>> [/home/appveyor/projects/rpi4/edk2/MdePkg/Library/DxeRngLib/DxeRngLi
>>> b.inf]
>>>
>>> Add the missing class to fix this issue.
>>>
>>> Signed-off-by: Pete Batard <pete at akeo.ie>
>>> ---
>>> MdePkg/Library/DxeRngLib/DxeRngLib.inf | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/MdePkg/Library/DxeRngLib/DxeRngLib.inf
>>> b/MdePkg/Library/DxeRngLib/DxeRngLib.inf
>>> index 68554ad21146..9c11959f8aeb 100644
>>> --- a/MdePkg/Library/DxeRngLib/DxeRngLib.inf
>>> +++ b/MdePkg/Library/DxeRngLib/DxeRngLib.inf
>>> @@ -14,7 +14,7 @@ [Defines]
>>> FILE_GUID = FF9F84C5-A33E-44E3-9BB5-0D654B2D4149
>>> MODULE_TYPE = DXE_DRIVER
>>> VERSION_STRING = 1.0
>>> - LIBRARY_CLASS = RngLib|DXE_DRIVER UEFI_APPLICATION
>> UEFI_DRIVER
>>> + LIBRARY_CLASS = RngLib|DXE_DRIVER DXE_RUNTIME_DRIVER
>>> UEFI_APPLICATION UEFI_DRIVER
>>>
>>> [Packages]
>>> MdePkg/MdePkg.dec
>>> --
>>> 2.21.0.windows.1
>>
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
> recipient,
>> please notify the sender immediately and do not disclose the contents to
> any
>> other person, use it for any purpose, or store or copy the information in
> any
>> medium. Thank you.
>>
>>
>>
>>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#67385): https://edk2.groups.io/g/devel/message/67385
Mute This Topic: https://groups.io/mt/78198050/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