UEFI Shell spec defines Shell Dynamic Command protocol which is just for the purpose to extend internal command.
So tftp and dp are changed from NULL class library to be drivers producing DynamicCommand protocol.
The guideline is:
1. Only use NULL class library for Shell spec defined commands.
2. New commands can be provided as not only a standalone application
but also a dynamic command. So it can be used either as an
internal command, but also as a standalone application.
v2:
Fix GCC build failures
Completely remove Dp library reference from DSC file.
Set PcdShellLibAutoInitialize to TRUE for DP and TFTP.
Ruiyu Ni (3):
ShellPkg/ShellLib: Constructor doesn't depend on ShellParameters
ShellPkg/tftp: Convert from NULL class library to Dynamic Command
ShellPkg/dp: Convert from NULL class library to Dynamic Command
.../DpDynamicCommand}/Dp.c | 100 +++++++----
.../DpDynamicCommand}/Dp.h | 63 ++++++-
.../DpDynamicCommand/Dp.uni} | 0
ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.c | 53 ++++++
ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf | 73 +++++++++
.../DpDynamicCommand/DpDynamicCommand.c | 130 +++++++++++++++
.../DpDynamicCommand/DpDynamicCommand.inf | 78 +++++++++
.../DpDynamicCommand}/DpInternal.h | 2 +-
.../DpDynamicCommand}/DpProfile.c | 34 ++--
.../DpDynamicCommand}/DpTrace.c | 182 ++++++++++-----------
.../DpDynamicCommand}/DpUtilities.c | 44 +++--
.../DpDynamicCommand}/Literals.c | 0
.../DpDynamicCommand}/Literals.h | 0
.../DpDynamicCommand}/PerformanceTokens.h | 0
.../TftpDynamicCommand}/Tftp.c | 92 ++++++++---
.../TftpDynamicCommand/Tftp.h} | 40 +++--
.../TftpDynamicCommand/Tftp.uni} | 0
.../DynamicCommand/TftpDynamicCommand/TftpApp.c | 54 ++++++
.../TftpDynamicCommand/TftpApp.inf} | 34 ++--
.../TftpDynamicCommand/TftpDynamicCommand.c | 131 +++++++++++++++
.../TftpDynamicCommand/TftpDynamicCommand.inf} | 39 +++--
ShellPkg/Library/UefiDpLib/Readme.txt | 2 -
ShellPkg/Library/UefiDpLib/UefiDpLib.c | 101 ------------
ShellPkg/Library/UefiDpLib/UefiDpLib.h | 64 --------
ShellPkg/Library/UefiDpLib/UefiDpLib.inf | 77 ---------
ShellPkg/Library/UefiShellLib/UefiShellLib.c | 12 +-
.../UefiShellTftpCommandLib.c | 97 -----------
ShellPkg/ShellPkg.dsc | 28 ++--
28 files changed, 938 insertions(+), 592 deletions(-)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/Dp.c (84%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/Dp.h (70%)
rename ShellPkg/{Library/UefiDpLib/UefiDpLib.uni => DynamicCommand/DpDynamicCommand/Dp.uni} (100%)
create mode 100644 ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.c
create mode 100644 ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf
create mode 100644 ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.c
create mode 100644 ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/DpInternal.h (96%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/DpProfile.c (87%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/DpTrace.c (89%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/DpUtilities.c (87%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/Literals.c (100%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/Literals.h (100%)
rename ShellPkg/{Library/UefiDpLib => DynamicCommand/DpDynamicCommand}/PerformanceTokens.h (100%)
rename ShellPkg/{Library/UefiShellTftpCommandLib => DynamicCommand/TftpDynamicCommand}/Tftp.c (91%)
mode change 100755 => 100644
rename ShellPkg/{Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.h => DynamicCommand/TftpDynamicCommand/Tftp.h} (56%)
rename ShellPkg/{Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.uni => DynamicCommand/TftpDynamicCommand/Tftp.uni} (100%)
create mode 100644 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.c
copy ShellPkg/{Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf => DynamicCommand/TftpDynamicCommand/TftpApp.inf} (59%)
create mode 100644 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.c
rename ShellPkg/{Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf => DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf} (55%)
delete mode 100644 ShellPkg/Library/UefiDpLib/Readme.txt
delete mode 100644 ShellPkg/Library/UefiDpLib/UefiDpLib.c
delete mode 100644 ShellPkg/Library/UefiDpLib/UefiDpLib.h
delete mode 100644 ShellPkg/Library/UefiDpLib/UefiDpLib.inf
delete mode 100644 ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.c
--
2.15.0.gvfs.1.preview.4
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel