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