TimerLib had to be resolved in commit 5ab97a64b51c ("ShellPkg/bcfg: Add
Shell Spec 2.2 modification functionality", 2017-03-01) because:
- the BCFG command started making calls to UefiBootManagerLib
(EfiBootManagerVariableToLoadOption(),
EfiBootManagerLoadOptionToVariable(), EfiBootManagerFreeLoadOption()),
- and "MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf"
depended on TimerLib.
Because TimerLib is platform-specific, but "ShellPkg/ShellPkg.dsc" is
meant to produce a UEFI shell binary that is platform-independent (see
"ShellBinPkg/ReadMe.txt"), we resolved TimerLib to
"BaseTimerLibNullTemplate.inf". (TimerLib functionality was never actually
needed on UefiBootManagerLib code paths that were exercised by the shell /
BCFG.)
Thanks to the last patch, UefiBootManagerLib no longer depends on
TimerLib, thus we can drop the TimerLib resolution entirely.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
ShellPkg/ShellPkg.dsc | 1 -
1 file changed, 1 deletion(-)
diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
index 29f537641285..1c923f585149 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -58,7 +58,6 @@ [LibraryClasses.common]
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
- TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
--
2.14.1.3.gb7cf6e02401b
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
On 2/12/2018 9:45 PM, Laszlo Ersek wrote:
> TimerLib had to be resolved in commit 5ab97a64b51c ("ShellPkg/bcfg: Add
> Shell Spec 2.2 modification functionality", 2017-03-01) because:
>
> - the BCFG command started making calls to UefiBootManagerLib
> (EfiBootManagerVariableToLoadOption(),
> EfiBootManagerLoadOptionToVariable(), EfiBootManagerFreeLoadOption()),
>
> - and "MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf"
> depended on TimerLib.
>
> Because TimerLib is platform-specific, but "ShellPkg/ShellPkg.dsc" is
> meant to produce a UEFI shell binary that is platform-independent (see
> "ShellBinPkg/ReadMe.txt"), we resolved TimerLib to
> "BaseTimerLibNullTemplate.inf". (TimerLib functionality was never actually
> needed on UefiBootManagerLib code paths that were exercised by the shell /
> BCFG.)
>
> Thanks to the last patch, UefiBootManagerLib no longer depends on
> TimerLib, thus we can drop the TimerLib resolution entirely.
>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> ShellPkg/ShellPkg.dsc | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
> index 29f537641285..1c923f585149 100644
> --- a/ShellPkg/ShellPkg.dsc
> +++ b/ShellPkg/ShellPkg.dsc
> @@ -58,7 +58,6 @@ [LibraryClasses.common]
>
> UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> - TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
> PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
> DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>
Very great clean up.
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
--
Thanks,
Ray
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2026 Red Hat, Inc.