Commit Graph

13705 Commits

Author SHA1 Message Date
Eric Dong f0c5095b27 This patch fix date/time op-code shows abnormal.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15055 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-07 08:07:47 +00:00
Eric Dong eff077992a Not update the status until parse the file info success.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15054 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-07 07:34:20 +00:00
Jeff Fan 44c8400a7d MtrrDebugPrintAllMtrrs() should loop until the max physical address is reached.
GetMemoryCacheTypeFromMtrrType () should return the default memory type instead of UC type for MTRR_CACHE_INVALID_TYPE.

Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15053 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-07 06:24:16 +00:00
Ruiyu Ni 31c2a2c7c0 Enhance Shell 2.0 to not depend on keyboard driver implementation to fix the "CTRL+s" pause malfunction issue.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Carsey Jaben <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15052 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-07 02:23:10 +00:00
Shumin Qiu de4ebdcfcd Add the comment for function 'IsValidSplit' in 'Shell.c'. Add code to check whether pointer 'DataBuffer' in 'DmpStore.c' is NULL before used.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15051 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-07 01:51:08 +00:00
Star Zeng 56a9e699dd MdeModulePkg CdExpressPei: Use correct PeiServices pointer to call low level BlockIoPpi->ReadBlocks.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15050 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-06 03:36:31 +00:00
Fu Siyuan 979fc9eab5 Bug fix: IpSec driver treats BOOLEAN as EFI_STATUS in error handling code.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Jin, Eric <eric.jin@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15049 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-06 03:01:09 +00:00
Fu Siyuan 8ff272ee83 Fix “reconnect -r” ASSERT after VLAN configured.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Zhang, Chao B <chao.b.zhang@intel.com>
Reviewed-by: Jin, Eric <eric.jin@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15048 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-06 02:17:12 +00:00
Fu Siyuan ecec420440 Update PXE driver to support PXE forced mode.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Jin, Eric <eric.jin@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15047 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-06 02:08:05 +00:00
Laszlo Ersek c90decb997 OvmfPkg: QemuFwCfgLib: implement for SEC
The QemuFwCfgSecLib library instance
- is stateless,
- has no library constructor,
- is available to SEC client code,
- must be queried with QemuFwCfgIsAvailable() before use,
- is restricted to SEC in order to limit the explicit querying
  requirement. (There is no current user.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15046 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:57:36 +00:00
Laszlo Ersek 2ce7e221e7 OvmfPkg: QemuFwCfgLib: extract stateful implementation
The current implementation of QemuFwCfgLib is:
- stateful
- implicitly initialized in the library constructor.

OVMF's SEC runs from read-only memory/flash. When the library is linked
into a SEC binary (which currently never happens), the
"mQemuFwCfgSupported" global variable becomes read-only, making the
library non-functional.

Extract the stateful, implicitly initialized library implementation into a
separate file, making room for a stateless, explicitly queried
implementation that's usable in SEC. Restrict the stateful implementation
to the current, non-SEC clients.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15045 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:57:26 +00:00
Laszlo Ersek 0dc231c9bd OvmfPkg: QemuFwCfgLib: introduce InternalQemuFwCfgIsAvailable()
This internal function allows separation of library-internal and
for-clients external availability of fw_cfg.

The interface contract of QemuFwCfgIsAvailable() is changed so that now it
may modify fw_cfg state. All current users are compliant with the new
contract.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15044 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:57:17 +00:00
Jordan Justen e55bf53ba9 OvmfPkg/create-release.py: Read License.txt files
Rather than embedding the License information in this script,
we now read the License.txt files from MdePkg & FatBinPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15043 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:43 +00:00
Jordan Justen 57dcb83f59 OvmfPkg/create-release.py: Support git hash versions
Previously we would run 'git svn info' if a .svn directory
wasn't found. This would fail if the current local commit
was not from git-svn.

Now we look for the svn info in the output from git log.
If the svn version is not in a git-svn-id tag from
git log, then we use the git commit hash.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15042 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:38 +00:00
Jordan Justen 6d3d4a7e9f OvmfPkg/create-release.py: Support GCC44 through GCC47
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15041 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:32 +00:00
Jordan Justen 4272d1a7c1 OvmfPkg/create-release.py: Remove '-alpha' from filename
The source control revision is still the produced filename.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15040 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:26 +00:00
Jordan Justen e3a0222a9b OvmfPkg/README: Update OVMF status
Remove 'Alpha' status tag. Let's just refer to the OVMF
releases by their revision control version.

Remove 'stabilize UEFI Linux' to-do item.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15039 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:20 +00:00
Jordan Justen 210c880fa9 OvmfPkg/README: Update information about running OVMF
The new instructions document -pflash & -bios options
for running OVMF on QEMU.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15038 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 19:19:14 +00:00
Liming Gao 300f2c6ad5 Correct function comments of S3BootScriptSaveDispatch2().
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15037 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-03 03:27:18 +00:00
Liming Gao 18d3e28062 Update the heap migration logic to avoid memory overflow.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15036 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-02 07:16:09 +00:00
Liming Gao d958a7e0bc Correct the RemainingPages calculation in PEI AllocatePages service.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15035 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-02 02:38:32 +00:00
Liming Gao 91403ce938 Update MemoryAllocationLib AllocateAlignedPages API comments for memory overflow ASSERT case.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15034 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-31 07:19:52 +00:00
Liming Gao 1346352d52 Update MemoryAllocationLib.AllocateAlignedPages API comments for memory overflow ASSERT case.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15033 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-31 07:19:09 +00:00
Eric Dong 27bace9b3e Keep consistent about the return value between the caller and callee.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15032 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-31 04:46:53 +00:00
Shumin Qiu 3e108dfd7d Set the type of variable 'StatusCode' as SHELL_STATUS to match the parameter type of function 'SetLastError'.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15031 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-31 04:01:17 +00:00
Eric Dong 6307a8b6dc Rollback the change 15021.
Signed-off-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15030 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-30 06:07:29 +00:00
David Woodhouse af8aa62d59 MdePkg: First instruction after clearing CR0.PE must be a far jmp.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15029 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-30 01:14:13 +00:00
David Woodhouse 321c89c208 Clean up hard-coded offsets and other utter bogosity in Thunk16.S
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15028 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-30 01:12:10 +00:00
Star Zeng efd6b412c6 MdeModulePkg Pcd DXE: Handle the case gPcdDataBaseHobGuid HOB is not present.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15027 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-29 07:14:57 +00:00
Jeff Fan b8b86ec6e0 Update HostSequenceNo for Command packet instead for Response packet.
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15026 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-27 08:10:37 +00:00
Jeff Fan 96c83393f0 Remove Debug message output from UpdateMailboxContent(), it may cause Mailbox locker nested issue.
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15025 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-27 06:14:25 +00:00
Laszlo Ersek 5a0c0e1595 OvmfPkg: QemuFwCfgLib: drop bogus dependency on UefiBootServicesTableLib
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15024 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-26 21:05:17 +00:00
Laszlo Ersek 4a9fab7d72 OvmfPkg: PlatformPei: reuse PublishPeiMemory() in MemDetect()
Although SVN r14944 ("OvmfPkg: introduce PublishPeiMemory") copied a big
chunk of code from MemDetect(), calling the new PublishPeiMemory()
function in MemDetect() could not have replaced the original code in the
latter. However, with the help of the previous patch, we can do it now.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15023 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-26 20:44:29 +00:00
Laszlo Ersek 9ab36385be OvmfPkg: PlatformPei: simplify memory range expressions in MemDetect()
Exploit that (MemoryBase + MemorySize) always equals LowerMemorySize.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15022 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-26 20:44:20 +00:00
Eric Dong 80873def60 Keep consistent about the return value between the caller and callee.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15021 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-26 04:19:37 +00:00
Elvin Li b8b5ff5acd Update XhcWaitOpRegBit to take Timout argument as microsecond.
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15020 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-25 07:52:55 +00:00
Shumin Qiu 5142926433 Fix ECC errors:1.Update the comments in function headers to follow the Doxygen special documentation. 2.Make the first line of text in a comment block end with a period. 3.Update the member variable name for SHELL_OPERATION_TYPES to follow the rules "Must contain lower case characters". 4. Return type of a function should exist and in the first line.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Dong, Eric <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15019 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-25 00:55:33 +00:00
Laszlo Ersek 6fa0da7d52 Add default way for switch in function 'RunCommandOrFile' of 'Shell.c'.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Shumin Qiu <shumin.qiu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15018 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-24 07:25:31 +00:00
Wu Jiaxin bdebd2cecf Fix a bug for vlan ping failure.
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com >
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Jin Eric <eric.jin@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15017 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-23 08:43:09 +00:00
Star Zeng da660118bd MdePkg PcdLib: Follow the comment of LibPcdGetNextToken to ASSERT when an invalid TokenNumber input.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15016 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-23 06:41:36 +00:00
Star Zeng adcd7381bb MdeModulePkg Pcd: Extend PcdVpdBaseAddress to support PcdsPatchableInModule type.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15015 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-23 06:33:12 +00:00
Jaben Carsey 5bd12b0555 ShellPkg: fix DmpStore for deleting
This change allows DmpStore command to delete all variables whereas before it would stop after a single deletion due to looping errors.  It uses a recursive function and deletes the last item returned from GetNextVariableName() first and then goes "backwards" to the first items.  

This can't delete authenticated variables.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15014 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-20 22:33:01 +00:00
Jeff Fan 4692bc0b81 Only save HostSequenceNo for new command in Debug Timer handler.
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15013 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-20 05:49:15 +00:00
Jeff Fan f3b113bf61 1. Only dump CPU Context and CpuDeadLoop () for CPU exception.
2. mEnabledInterruptNum is total enabled interrupt number, InterruptType should less than mEnabledInterruptNum.

Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15012 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-20 05:42:41 +00:00
Jaben Carsey 6bd644638d ShellPkg: pre-verify split commands
This makes sure that all parts of commands split via pipe operation are valid before starting.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15011 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-20 01:13:36 +00:00
Jaben Carsey 12a27a6d81 ShellPkg: API name typo.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15010 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 22:09:17 +00:00
Jaben Carsey 404b3f4394 ShellPkg: fix whitespace character trimming
This makes TrimSpaces() trim tab characters off the end of the string also (not just the beginning).  Also updates loop to prevent buffer underrun.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15009 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 22:03:37 +00:00
Jaben Carsey e3eb7d825a ShellPkg: CTRL-C stops a running script at the same time
This makes CTRL-C stop a running script after trying to stop the command.  And adds comments to describe the behavior more clearly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15008 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 21:55:13 +00:00
Jaben Carsey 806c49db05 ShellPkg: Refactor the RunCommand API
This almost completely splits the RunCommand API into sub-routines.

 - the ProcessCommandLineToFinal API handles replacing the a found alias and any found environment variables.  This will redirect "-?" to "help", if necessary.  Upon return, the command line is complete and finalized.  It may still have redirection in it, and those will get chopped off later (but no further modifications occur).
 - the SetupAndRunCommandOrFile API handles updating and then later restoring StdIn, StdOut, and StdErr (and removing their information from the command line).  It will call into RunCommandOrFile.
 - the RunCommandOrFile API divides the logic to RunInternalCommand, RunScriptFile, or running an .EFI file directly.
 - the RunInternalCommand API handles updating and then restoring Argc and Argv.  It will run the internal command in between.
 - the SetLastError API handles updating of the environment variable "lasterror"
 - the DoHelpUpdateArgcArgv was changed to DoHelpUpdate and now works on the raw command line and not the argc/argv.  This allows the processing to be moved earlier.

Note this change has the following positive side effects (this eliminates unnecessary step):
 - Argc/Argv are only updated for internal commands (as they are library based)
 - no Argv/Argc/StdIn/StdOut/StdErr processing is done for file system changes.
 - The ProcessCommandLineToFinal API exists and it's critical to the ability to correctly pre-process split ("|") command lines ahead of time to verify their correctness.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15007 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 16:05:34 +00:00
Shumin Qiu 8dcd84b9d7 Converse the return value from 'int' to 'BOOLEAN' for function ‘ContainsSplit’ in Shell.c.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15006 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 02:03:42 +00:00