diff options
author | Tomas Pilar <quic_tpilar@quicinc.com> | 2023-01-03 09:02:29 -0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-01-20 16:43:51 +0000 |
commit | e96a5734f6b1b1d38a60d9ecf77a453ae2fc8303 (patch) | |
tree | b3e3e7474f93c968e193c9b0e7b98647e646108e /ShellPkg | |
parent | bf5678b5802685e07583e3c7ec56d883cbdd5da3 (diff) | |
download | edk2-e96a5734f6b1b1d38a60d9ecf77a453ae2fc8303.tar.gz edk2-e96a5734f6b1b1d38a60d9ecf77a453ae2fc8303.tar.bz2 edk2-e96a5734f6b1b1d38a60d9ecf77a453ae2fc8303.zip |
ShellPkg: Export default shell delay as PCD
Create PcdShellDefaultDelay to configure the default
delay the shell provides for the user at the start time
if the user wishes to cancel the execution of a potential
startup script.
The shell application already allows the user to override
the delay default value by specifying the -delay cmdline
argument. This however cannot be used when loading the
shell application using direct boot or when integrating
the shell into the platform firmware build.
Thus, a PCD can be easily configured by the developer
either at build time, or even at runtime.
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Tomas Pilar <tomas@quicinc.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Diffstat (limited to 'ShellPkg')
-rw-r--r-- | ShellPkg/Application/Shell/Shell.c | 2 | ||||
-rw-r--r-- | ShellPkg/Application/Shell/Shell.inf | 1 | ||||
-rw-r--r-- | ShellPkg/ShellPkg.dec | 4 |
3 files changed, 6 insertions, 1 deletions
diff --git a/ShellPkg/Application/Shell/Shell.c b/ShellPkg/Application/Shell/Shell.c index df00adfdfa..0ae6e14a34 100644 --- a/ShellPkg/Application/Shell/Shell.c +++ b/ShellPkg/Application/Shell/Shell.c @@ -990,7 +990,7 @@ ProcessCommandLine ( ShellInfoObject.ShellInitSettings.BitUnion.Bits.Delay = FALSE;
ShellInfoObject.ShellInitSettings.BitUnion.Bits.Exit = FALSE;
ShellInfoObject.ShellInitSettings.BitUnion.Bits.NoNest = FALSE;
- ShellInfoObject.ShellInitSettings.Delay = 5;
+ ShellInfoObject.ShellInitSettings.Delay = PcdGet32 (PcdShellDefaultDelay);
//
// Start LoopVar at 0 to parse only optional arguments at Argv[0]
diff --git a/ShellPkg/Application/Shell/Shell.inf b/ShellPkg/Application/Shell/Shell.inf index 4c32960a96..f1e41de133 100644 --- a/ShellPkg/Application/Shell/Shell.inf +++ b/ShellPkg/Application/Shell/Shell.inf @@ -103,3 +103,4 @@ gEfiShellPkgTokenSpaceGuid.PcdShellForceConsole ## CONSUMES
gEfiShellPkgTokenSpaceGuid.PcdShellSupplier ## CONSUMES
gEfiShellPkgTokenSpaceGuid.PcdShellMaxHistoryCommandCount ## CONSUMES
+ gEfiShellPkgTokenSpaceGuid.PcdShellDefaultDelay ## CONSUMES
diff --git a/ShellPkg/ShellPkg.dec b/ShellPkg/ShellPkg.dec index 7b2d1230bd..2ebea0a261 100644 --- a/ShellPkg/ShellPkg.dec +++ b/ShellPkg/ShellPkg.dec @@ -136,3 +136,7 @@ # Up to this many bytes of vendor specific data will be used. Default is 0
# (disabled).
gEfiShellPkgTokenSpaceGuid.PcdShellVendorExtendedDecode|0|UINT32|0x00000013
+
+ ## Controls the default delay the shell will offer to the user at the
+ # start to check if the user wishes to cancel the script autostart
+ gEfiShellPkgTokenSpaceGuid.PcdShellDefaultDelay|5|UINT32|0x00000015
|