Commit Graph

13834 Commits

Author SHA1 Message Date
Brendan Jackman 6ddc2ff3ef ShellPkg/ShellProtocol.c: Don't put consective "\"s in file paths
The UEFI and UEFI Shell specs do not allow consecutive path separators.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15184 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 22:32:38 +00:00
Brendan Jackman 3877d0f581 ShellPkg/UefiShellLib.c: Execute: Return a Command status even in the old shell
This means we can use ShellExecute without thinking which shell
environment is in use. However it still isn't ideal: if
mEfiShellEnvironment2->Execute returns EFI_INVALID_PARAMETER, we can't tell
whether Execute() received an invalid parameter (e.g. ParentImageHandle was
NULL), or whether we tried to execute a command with an invalid parameter
(for example CommandLine "ls -hurdygurdy").

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15183 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 22:31:07 +00:00
Brendan Jackman 708793148d ShellLib/UefiShellLib.c: Fix doc comment for ShellOpenFileMetaArg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15182 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 22:29:53 +00:00
Brendan Jackman d9c7741d4f ShellPkg/ShellProtocol.c: Don't overwrite Status in InternalShellExecuteDevicePath
Due to the ASSERT_EFI_ERROR, this patch is necessary only to ensure specified
behaviour in RELEASE builds.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15181 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 22:28:36 +00:00
Brendan Jackman 5223c12135 ShellPkg/Shell: Fix reporting of exit status in ShellProtocol.Execute
When the exit status of the command run by the shell is other than
SHELL_SUCCESS, the shell image will now exit with EFI_ABORTED, placing the
commands exit status (which is a SHELL_STATUS) in ExitData.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15180 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 22:27:11 +00:00
Jaben Carsey fed3be946c ShellPkg: Refactor Print logic out of main loop function
This has no change in the behavior of the LS command, but it removes the printing logic from the main recursive function.  This is the first step toward changing the code flow without affecting the look and feel.

The long term goal is correcting the recursion to be more clean and useful to users.

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@15179 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 20:33:17 +00:00
Gao, Liming b0c975b61a Update Module BaseName to avoid the same name.
Remove the unused extern C name.

Signed-off-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15178 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 14:39:30 +00:00
Garrett Kirkendall 7017c2699d ArmPkg/ArmLib: Fix AARCH64 page table entry filling overrun
Update the LastBlockEntry return value when allocating a new page table block
and the parent page table entry is not valid.  Discovered when producing page
table entries for a memory region that spans multiple page table entries of a
parent page table block.  Not very memory space efficient because the rest of
the code could calculate a required page level that is deeper than some blocks
of the memory region might require.  Case that found the problem:
MemoryRegion->VirtualBase = 0
MemoryRegion->Length = 0x7F000000
This fix will create an un-needed level of page table for address
range 0 -> 0x40000000

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Garrett Kirkendall <garrett.kirkendall@amd.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15177 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 13:10:54 +00:00
Gao, Liming ace287611f Update Module BaseName to avoid the same name.
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15176 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 09:33:11 +00:00
Gao, Liming 201edad327 Update Module BaseName to avoid the same name.
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15175 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 09:32:30 +00:00
Fu Siyuan ca4e58d8e3 Fix following problems about VLAN driver:
1. "VLAN Configuration” form crash after 'reconnect -r'
2. disconnect VLAN driver from the managed device will return EFI_NOT_FOUND
3. disconnect MNP driver from the managed device, VLAN driver couldn't be stopped.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15174 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 05:33:18 +00:00
Fu Siyuan f20fc992ae Re-execute the failed SCSI command if iSCSI driver could reinstates the session successfully.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Tian, Feng <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15173 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 08:36:37 +00:00
Tian, Hot 2b53e39435 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15172 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 05:27:14 +00:00
Dong Guo 675723cbca Fix PCD help information format and a typo.
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15171 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 03:19:38 +00:00
Eric Dong 27582c41ba Update password process logic, if password without interactive attribute, the first byte of buffer is zero means this password not has preexist value.
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@15170 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 02:00:15 +00:00
Eric Dong 96179cb36e Refine the logic when return success, should not clean the buffer in this case.
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@15169 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 01:57:04 +00:00
Olivier Martin 5a78d29cb8 ArmPlatformPkg/ArmVExpress-CTA15-A7.fdf: Move UEFI image above the first 128MB of DRAM
Linux and its DTB required to be loaded in the first 128MB of the system memory.
Moving UEFI firmware above this limit ensures some XIP runtime code (part of the
UEFI firmware) are not overwritten when loading Linux kernel.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15168 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 01:01:08 +00:00
Olivier Martin c2d87a49f7 ArmPlatformPkg/PrePi: Fixed register corruption
The commit on Fri Dec 6 2013: "ArmPlatformPkg/ArmPlatformStackLib:
Do not directly use PcdArmPrimaryCore" has made the function
ArmPlatformStackSet() overwrites the registers r6 and r7.
These registers are used by PrePi to store the MPIDR and the the base
of the system memory region used by UEFI.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15167 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 00:59:08 +00:00
Olivier Martin eb98fc6de8 ArmPlatformPkg: Removed the hardware floating point build flags
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15166 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 00:57:56 +00:00
Olivier Martin 9b485fde02 EmbeddedPkg/MmcDxe: Fix mixed EOL
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15165 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 00:56:29 +00:00
Shumin Qiu 14868afbb8 Update prints of variable attributes from 'RS' to 'RT' for 'Dmpstore' command.
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@15164 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 00:29:53 +00:00
Shumin Qiu f614ce7ebb Update the comments in function headers to follow Doxygen special documentation blocks in section 2.3.5.
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@15163 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 00:27:52 +00:00
Tian, Hot 7798fb83de Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15162 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:41:16 +00:00
Tian, Hot af0202a4ca Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15161 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:40:49 +00:00
Tian, Hot d42aab6e61 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15160 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:40:29 +00:00
Tian, Hot 1f345b7d29 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15159 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:40:06 +00:00
Tian, Hot 1cc799c5b3 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15158 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:39:50 +00:00
Tian, Hot 44de1013cf Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15157 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:39:32 +00:00
Tian, Hot 8db92ab59b Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15156 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:39:09 +00:00
Tian, Hot 4b738c76f5 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15155 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:38:50 +00:00
Tian, Hot 4c8f6044a2 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15154 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:38:20 +00:00
Tian, Hot c27b9ffe86 Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15153 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:35:25 +00:00
Fu Siyuan cb162780fe Re-execute the failed SCSI command if iSCSI driver could reinstates the session successfully.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Dong, Guo <guo.dong@intel.com>
Reviewed-by: Tian, Feng <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15152 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 01:57:06 +00:00
Jordan Justen b36f701d4f OvmfPkg: Split MAINFV into a separate PEI and DXE FVs
By splitting the PEI and DXE phases into separate FVs,
we can only reserve the PEI FV for ACPI S3 support.
This should save about 7MB.

Unfortunately, this all has to happen in a single commit.

DEC:
* Remove PcdOvmfMemFv(Base|Size)
* Add PcdOvmfPeiMemFv(Base|Size)
* Add PcdOvmfDxeMemFv(Base|Size)

FDF:
* Add new PEIFV. Move PEI modules here.
* Remove MAINFV
* Add PEIFV and DXEFV into FVMAIN_COMPACT
   - They are added as 2 sections of a file, and compressed
     together so they should retain good compression
* PcdOvmf(Pei|Dxe)MemFv(Base|Size) are set

SEC:
* Find both the PEI and DXE FVs after decompression.
   - Copy them separately to their memory locations.

Platform PEI driver:
* Fv.c: Publish both FVs as appropriate
* MemDetect.c: PcdOvmfMemFv(Base|Size) =>
                PcdOvmfDxeMemFv(Base|Size)

OVMF.fd before:

  Non-volatile data storage
  FVMAIN_COMPACT                    uncompressed
    FV FFS file                     LZMA compressed
      MAINFV                        uncompressed
        individual PEI modules      uncompressed
        FV FFS file                 compressed with PI_NONE
          DXEFV                     uncompressed
            individual DXE modules  uncompressed
  SECFV                             uncompressed

OVMF.fd after:

  Non-volatile data storage
  FVMAIN_COMPACT                    uncompressed
    FV FFS file                     LZMA compressed
      PEIFV                         uncompressed
        individual PEI modules      uncompressed
      DXEFV                         uncompressed
        individual DXE modules      uncompressed
  SECFV                             uncompressed

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@15151 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:39:13 +00:00
Jordan Justen 4b4b783dbe OvmfPkg/Sec: Add FindFfsSectionInstance
This allow you to search for an 'instance' of a section
within a series of FFS sections.

For example, we will split the MAINFV into a PEI and DXE
FV, and then compress those two FV's together within a
FFS FV file. The DXE FV will appear as the second section
of the file, and therefore we will search for it using
an Instance=1 value.

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@15150 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:39:04 +00:00
Jordan Justen b6f564a763 OvmfPkg/Sec: Remove EFIAPI from functions that don't require it
These are all internal functions that don't interface with
assembly code or other drivers. Therefore EFIAPI is not
required.

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@15149 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:57 +00:00
Jordan Justen c67178b772 OvmfPkg/Sec: Cleanup debug messages
Remove some not-so-useful messages (during FV scanning).

Convert ERROR to INFO and vise versa where appropriate.

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@15148 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:50 +00:00
Jordan Justen 7cb6b0e068 OvmfPkg: Move SEC/PEI Temporary RAM from 0x70000 to 0x810000
Note: The Temporary RAM memory size is being reduced from
      64KB to 32KB. This still appears to be more than
      adequate for OVMF's early PEI phase. We will be adding
      another 32KB range of RAM just above this range for
      use on S3 resume.

The range is declared as part of MEMFD, so it is easier
to identify the memory range.

We also now assign PCDs to the memory range.

The PCDs are used to set the initial SEC/PEI stack in
SEC's assembly code.

The PCDs are also used in the SEC C code to setup
the Temporary RAM PPI.

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@15147 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:43 +00:00
Jordan Justen b382ede386 OvmfPkg X64 ResetVector: Move page tables from 512KB to 8MB
To help consolidate OVMF fixed memory uses, we declare this
range in MEMFD and thereby move it to 8MB.

We also now declare the table range in the FDF to set
PCDs. This allows us to ASSERT that CR3 is set as expected
in OVMF SEC.

OvmfPkgIa32.fdf and OvmfPkgIa32X64.fdf are updated simply
for consistency.

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@15146 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:34 +00:00
Jordan Justen bb4aa855f3 OvmfPkg/Sec/SecMain.c: Convert to CRLF (dos) text
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@15145 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:25 +00:00
Jordan Justen 5300cf02b9 OvmfPkg: Carve 128KB out of MAINFV in MEMFD
In an effort to consolidate fixed memory used by OVMF,
we'll move 2 SEC/PEI phase RAM users to 8MB.
* X64 page tables (24KB)   0x80000 => 0x800000
* PEI temporary RAM (64KB) 0x70000 => 0x810000

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@15144 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 19:38:16 +00:00
Ruiyu Ni 66a110d7c9 Optimize the code to not call StrToBuf when DataLength is 0.
Signed-off-by: Ruiyu Ni <ruyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15143 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 07:34:41 +00:00
Laszlo Ersek 2d441ca9cd OvmfPkg: unify PcdMaxVariableSize at 0x2000 bytes
The Linux persistent store (pstore) feature serves, among other things,
for saving the trailing portion of the dmesg in case of a kernel oops. One
backend for the pstore facility is "efivars", ie. non-volatile UEFI
variables.

Linux splits the tail of the dmesg that is to be dumped in 1KB chunks, and
tries to save each chunk as a specially (and differently) named
non-volatile variable. The 1KB chunk size accounts for the variable data
only; Linux expects this size to be available per variable *without*
accounting for the variable name or any firmware-internal overhead.

For non-authenticated (ie. non-secure-boot) variables, OvmfPkg currently
sets the per-variable limit to 0x400 (1KB) through PcdMaxVariableSize.
However this PCD determines the size *before* subtracting the internal
overhead (which is sizeof(VARIABLE_HEADER) == 0x20 bytes for
non-authenticated variables, see
"MdeModulePkg/Include/Guid/VariableFormat.h"), and also before subtracting
the given variable's UCS-2 encoded name (including the trailing 0x0000).

Linux maximizes these special variable names in DUMP_NAME_LEN==52 code
points (including the trailing NUL). Hence we must provide at least

  0x020 == sizeof(VARIABLE_HEADER), for the internal overhead
  0x068 == 2 * 52, for the UCS-2 encoded name, including trailing 0x0000
  0x400 for the variable body
  -----
  0x488 == 1160

bytes in PcdMaxVariableSize, so that Linux's efivars-backed pstore can
work even on non-secure-boot builds of OVMF.

However, as PcdMaxVariableSize=0x2000 has proven reasonable when secure
boot is enabled, it should also be okay when secure boot is disabled; so
for simplicity's sake set PcdMaxVariableSize to 0x2000 unconditionally.

Tested-by: Seiji Aguchi <seiji.aguchi@hds.com>
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@15142 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-20 08:50:06 +00:00
Jordan Justen d0115279be OvmfPkg/build.sh: Support GCC48 toolchain
If GCC 4.8 or 4.9 is detected, then use the GCC48 toolchain.

Previously we would use the GCC47 toolchain, but GCC48
was recently added to the main edk2 BaseTools/Conf.

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@15141 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-20 08:49:58 +00:00
Jaben Carsey 2c86b6b785 ShellPkg: Change StdIn redirection
This changes how StdIn redirection works such that the file is opened and parsed for length up front and not each time.  This prevents TPL issues.

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@15140 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-17 17:51:09 +00:00
Gao, Liming d91e3ba5e7 Add VOID MigratePeiServicesTablePointer() to fix'Deprecated declaration'.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-By: Olivier Martin <Olivier.Martin@arm.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15139 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-17 06:07:01 +00:00
Gao, Liming 8a83534019 Add VOID MigratePeiServicesTablePointer() to fix'Deprecated declaration'.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-By: Olivier Martin <Olivier.Martin@arm.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15138 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-17 06:06:30 +00:00
jyao1 ff284c56a1 CapsulePei coalesce need add more sanity check for each Capsule Fragment.
Signed-off by: jiewen yao <jiewen.yao@intel.com>
Reviewed by: elvin li <elvin.li@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15137 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-17 03:51:01 +00:00
jyao1 3a1966c4e2 DxeCore is designed to trust input data, so add comments to reminder caller to do check to follow PI specification when necessary.
Since LBA_CACHE is DxeCore implementation specific, DxeCore will check it here.

Signed-off by: jiewen yao <jiewen.yao@intel.com>
Reviewed by: liming gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15136 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-17 03:42:09 +00:00
Jaben Carsey 4dd8c7af19 ShellPkg: Return the failure
This change returns the error code when they keyboard fails to read instead of potentially spinning endlessly.

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15135 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-16 16:53:56 +00:00