]> git.proxmox.com Git - mirror_edk2.git/log
mirror_edk2.git
10 years agoMdeModulePkg/SecurityPkg: Update TreePei to handle FvInfo2 and update FwVol of PeiCor...
Star Zeng [Tue, 15 Apr 2014 09:19:04 +0000 (09:19 +0000)]
MdeModulePkg/SecurityPkg: Update TreePei to handle FvInfo2 and update FwVol of PeiCore to always install both FvInfo and FvInfo2.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15467 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressPkg: Update the Runtime Code and Data number of pages
Olivier Martin [Mon, 14 Apr 2014 10:25:08 +0000 (10:25 +0000)]
ArmPlatformPkg/ArmVExpressPkg: Update the Runtime Code and Data number of pages

This information give a hint to reserve some contiguous pages for runtime
regions.

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@15466 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCall EFI_BROWSER_ACTION_RETRIEVE for each form instead of only call once before enter...
Eric Dong [Mon, 14 Apr 2014 10:03:00 +0000 (10:03 +0000)]
Call EFI_BROWSER_ACTION_RETRIEVE for each form instead of only call once before enter this formset.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15465 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressLibRTSM: Added support for the additional 6GB memory of...
Olivier Martin [Mon, 14 Apr 2014 09:04:31 +0000 (09:04 +0000)]
ArmPlatformPkg/ArmVExpressLibRTSM: Added support for the additional 6GB memory of DRAM on Foundation Model

The FVP Foundation model has additional DRAM regions at 0x08_8000_0000.

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@15464 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix using root of drive
Jaben Carsey [Fri, 11 Apr 2014 19:15:02 +0000 (19:15 +0000)]
ShellPkg: Fix using root of drive

This allows near complete use of drive roots “fs0:” and “fs0:\” as directories and arguments to commands.

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>
Reviewed-by: Tapan Shah <tapandshah@hp.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15463 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix compiler warning 'unused variable'
Harry Liebel [Fri, 11 Apr 2014 17:35:22 +0000 (17:35 +0000)]
ShellPkg: Fix compiler warning 'unused variable'

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15462 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressLibRTSM: Added support for the additional 2GB memory of...
Olivier Martin [Fri, 11 Apr 2014 15:58:54 +0000 (15:58 +0000)]
ArmPlatformPkg/ArmVExpressLibRTSM: Added support for the additional 2GB memory of DRAM on FVP

The FVP Base and Foundation models have additional DRAM regions at
0x08_8000_0000.

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@15461 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressLibRTSM: Removed unused dead code
Olivier Martin [Fri, 11 Apr 2014 15:58:13 +0000 (15:58 +0000)]
ArmPlatformPkg/ArmVExpressLibRTSM: Removed unused dead code

This code is only specific to the ARM Versatile Express hardware board.
There is no concept of logic tile on the FVP model.

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@15460 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Fix loading Timeout from NV storage
Harry Liebel [Fri, 11 Apr 2014 15:57:06 +0000 (15:57 +0000)]
ArmPlatformPkg/Bds: Fix loading Timeout from NV storage

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15459 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Do not start all devices when starting an OS loader
Olivier Martin [Fri, 11 Apr 2014 11:02:59 +0000 (11:02 +0000)]
ArmPlatformPkg/Bds: Do not start all devices when starting an OS loader

EFI OS Loader application will be responsible to start their needed drivers.
While other EFI applications (eg: EFI Shell) expect to have all their drivers
started when they run.

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@15458 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Allow to update EFI application boot entries
Olivier Martin [Fri, 11 Apr 2014 11:01:56 +0000 (11:01 +0000)]
ArmPlatformPkg/Bds: Allow to update EFI application boot entries

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@15457 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg: Print arguments for EFI Application
Olivier Martin [Fri, 11 Apr 2014 11:00:47 +0000 (11:00 +0000)]
ArmPlatformPkg: Print arguments for EFI Application

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@15456 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Introduced helper function to detect if an Ascii/Unicode string...
Olivier Martin [Fri, 11 Apr 2014 10:59:48 +0000 (10:59 +0000)]
ArmPlatformPkg/Bds: Introduced helper function to detect if an Ascii/Unicode string is printable

Some limitations:
 - it only supports unicode string that use ASCII character (< 0x100)
 - single character ASCII strings are interpreted as Unicode string
 - string cannot be longer than 2 x BOOT_DEVICE_OPTION_MAX (600 bytes)

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@15455 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg: Set PcdDefaultBootArgument to an empty unicode string
Olivier Martin [Fri, 11 Apr 2014 10:59:06 +0000 (10:59 +0000)]
ArmPlatformPkg: Set PcdDefaultBootArgument to an empty unicode string

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@15454 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Added support to detect if the binary is a EFI image
Olivier Martin [Fri, 11 Apr 2014 10:57:47 +0000 (10:57 +0000)]
ArmPlatformPkg/Bds: Added support to detect if the binary is a EFI image

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@15453 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Added support to pass parameters to EFI applications
Olivier Martin [Fri, 11 Apr 2014 10:57:00 +0000 (10:57 +0000)]
ArmPlatformPkg/Bds: Added support to pass parameters to EFI applications

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@15452 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Decoupled OptionalData for the EFI application boot entry from...
Olivier Martin [Fri, 11 Apr 2014 10:56:02 +0000 (10:56 +0000)]
ArmPlatformPkg/Bds: Decoupled OptionalData for the EFI application boot entry from the Linux loader

OptionalData for EFI Application does not contain any more specific information about the ArmPlatformPkg/Bds.
OptionalData now only contains the data pass to the EFI application.

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@15451 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Add support to handle Unicode parameters
Olivier Martin [Fri, 11 Apr 2014 10:55:02 +0000 (10:55 +0000)]
ArmPlatformPkg/Bds: Add support to handle Unicode parameters

Most UEFI applications expect unicode string parameter.
This change is allows to support Ascii or Unicode strings.

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@15450 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUpdate logic, only question with interactive attribute should trig the callback function.
Eric Dong [Fri, 11 Apr 2014 06:17:03 +0000 (06:17 +0000)]
Update logic, only question with interactive attribute should trig the callback function.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15449 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoSync value for string opcode after call the Callback function.
Eric Dong [Fri, 11 Apr 2014 06:15:57 +0000 (06:15 +0000)]
Sync value for string opcode after call the Callback function.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15448 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoMdeModulePkg/UsbMassStorage: Don't send READ_CAPACITY to unsupported usb mass storage...
Tian, Feng [Thu, 10 Apr 2014 02:45:32 +0000 (02:45 +0000)]
MdeModulePkg/UsbMassStorage: Don't send READ_CAPACITY to unsupported usb mass storage type device.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tian, Feng <feng.tian@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15447 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCheck the pointer before use it.
Eric Dong [Thu, 10 Apr 2014 02:28:01 +0000 (02:28 +0000)]
Check the pointer before use it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15445 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix a bug in IP driver that the fragment overlap check may be skipped incorrectly.
Fu Siyuan [Thu, 10 Apr 2014 02:25:49 +0000 (02:25 +0000)]
Fix a bug in IP driver that the fragment overlap check may be skipped incorrectly.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye, Ting <ting.ye@intel.com>
Reviewed-by: Jin, Eric <eric.jin@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15443 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/Bds: Check OptionalData is not NULL before accessing it
Olivier Martin [Tue, 8 Apr 2014 18:05:48 +0000 (18:05 +0000)]
ArmPlatformPkg/Bds: Check OptionalData is not NULL before accessing it

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@15439 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/NorFlashDxe: Fixed driver to support UEFI Runtime mode
Olivier Martin [Tue, 8 Apr 2014 18:03:25 +0000 (18:03 +0000)]
ArmPlatformPkg/NorFlashDxe: Fixed driver to support UEFI Runtime mode

- Added the NOR Flash region to the Runtime UEFI Memory Mapped IO
- Caught the gEfiEventVirtualAddressChangeGuid event to fixup the NOR Flash pointers

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@15438 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/NorFlashDxe: Fix coding mistakes that would prevent Runtime mode
Olivier Martin [Tue, 8 Apr 2014 18:02:32 +0000 (18:02 +0000)]
ArmPlatformPkg/NorFlashDxe: Fix coding mistakes that would prevent Runtime mode

- No allocation during Runtime mode (post ExitBootServices())
- Allocate all the persistent data into runtime space
- Do not access BootServices API during Runtime mode

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@15437 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/NorFlashDxe: Declare the driver as a UEFI Runtime driver
Olivier Martin [Tue, 8 Apr 2014 18:01:32 +0000 (18:01 +0000)]
ArmPlatformPkg/NorFlashDxe: Declare the driver as a UEFI Runtime driver

NorFlash driver is required by UEFI Variable services to read/write
Non-Volatile UEFI variables.

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@15436 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/PL031RealTimeClock: Fixed driver to support UEFI Runtime Services
Olivier Martin [Tue, 8 Apr 2014 17:59:00 +0000 (17:59 +0000)]
ArmPlatformPkg/PL031RealTimeClock: Fixed driver to support UEFI Runtime Services

- Removed PCD base address from the macro definition. The base address needs to be fixup when the driver runs in UEFI Runtime mode
- Added the PL031 controller memory region to the Runtime UEFI Memory Mapped IO
- Caught the gEfiEventVirtualAddressChangeGuid event to fixup the PL031 Base address

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@15435 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRefine the load form sets process for BrowserCallback function.
Eric Dong [Tue, 8 Apr 2014 06:17:33 +0000 (06:17 +0000)]
Refine the load form sets process for BrowserCallback function.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15434 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformPei: protect SEC's GUIDed section handler table thru S3
Laszlo Ersek [Sat, 5 Apr 2014 21:26:09 +0000 (21:26 +0000)]
OvmfPkg: PlatformPei: protect SEC's GUIDed section handler table thru S3

OVMF's SecMain is unique in the sense that it links against the following
two libraries *in combination*:

- IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/
                                               LzmaCustomDecompressLib.inf
- MdePkg/Library/BaseExtractGuidedSectionLib/
                                           BaseExtractGuidedSectionLib.inf

The ExtractGuidedSectionLib library class allows decompressor modules to
register themselves (keyed by GUID) with it, and it allows clients to
decompress file sections with a registered decompressor module that
matches the section's GUID.

BaseExtractGuidedSectionLib is a library instance (of type BASE) for this
library class. It has no constructor function.

LzmaCustomDecompressLib is a compatible decompressor module (of type
BASE). Its section type GUID is

  gLzmaCustomDecompressGuid == EE4E5898-3914-4259-9D6E-DC7BD79403CF

When OVMF's SecMain module starts, the LzmaCustomDecompressLib constructor
function is executed, which registers its LZMA decompressor with the above
GUID, by calling into BaseExtractGuidedSectionLib:

  LzmaDecompressLibConstructor() [GuidedSectionExtraction.c]
    ExtractGuidedSectionRegisterHandlers() [BaseExtractGuidedSectionLib.c]
      GetExtractGuidedSectionHandlerInfo()
        PcdGet64 (PcdGuidedExtractHandlerTableAddress) -- NOTE THIS

Later, during a normal (non-S3) boot, SecMain utilizes this decompressor
to get information about, and to decompress, sections of the OVMF firmware
image:

  SecCoreStartupWithStack() [OvmfPkg/Sec/SecMain.c]
    SecStartupPhase2()
      FindAndReportEntryPoints()
        FindPeiCoreImageBase()
          DecompressMemFvs()
            ExtractGuidedSectionGetInfo() [BaseExtractGuidedSectionLib.c]
            ExtractGuidedSectionDecode() [BaseExtractGuidedSectionLib.c]

Notably, only the extraction depends on full-config-boot; the registration
of LzmaCustomDecompressLib occurs unconditionally in the SecMain EFI
binary, triggered by the library constructor function.

This is where the bug happens. BaseExtractGuidedSectionLib maintains the
table of GUIDed decompressors (section handlers) at a fixed memory
location; selected by PcdGuidedExtractHandlerTableAddress (declared in
MdePkg.dec). The default value of this PCD is 0x1000000 (16 MB).

This causes SecMain to corrupt guest OS memory during S3, leading to
random crashes. Compare the following two memory dumps, the first taken
right before suspending, the second taken right after resuming a RHEL-7
guest:

crash> rd -8 -p 1000000 0x50
1000000: c0 00 08 00 02 00 00 00 00 00 00 00 00 00 00 00  ................
1000010: d0 33 0c 00 00 c9 ff ff c0 10 00 01 00 88 ff ff  .3..............
1000020: 0a 6d 57 32 0f 00 00 00 38 00 00 01 00 88 ff ff  .mW2....8.......
1000030: 00 00 00 00 00 00 00 00 73 69 67 6e 61 6c 6d 6f  ........signalmo
1000040: 64 75 6c 65 2e 73 6f 00 00 00 00 00 00 00 00 00  dule.so.........

vs.

crash> rd -8 -p 1000000 0x50
1000000: 45 47 53 49 01 00 00 00 20 00 00 01 00 00 00 00  EGSI.... .......
1000010: 20 01 00 01 00 00 00 00 a0 01 00 01 00 00 00 00   ...............
1000020: 98 58 4e ee 14 39 59 42 9d 6e dc 7b d7 94 03 cf  .XN..9YB.n.{....
1000030: 00 00 00 00 00 00 00 00 73 69 67 6e 61 6c 6d 6f  ........signalmo
1000040: 64 75 6c 65 2e 73 6f 00 00 00 00 00 00 00 00 00  dule.so.........

The "EGSI" signature corresponds to EXTRACT_HANDLER_INFO_SIGNATURE
declared in
MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.c.

Additionally, the gLzmaCustomDecompressGuid (quoted above) is visible at
guest-phys offset 0x1000020.

Fix the problem as follows:
- Carve out 4KB from the 36KB gap that we currently have between

  PcdOvmfLockBoxStorageBase + PcdOvmfLockBoxStorageSize == 8220 KB
  and
  PcdOvmfSecPeiTempRamBase                              == 8256 KB.

- Point PcdGuidedExtractHandlerTableAddress to 8220 KB (0x00807000).

- Cover the area with an EfiACPIMemoryNVS type memalloc HOB, if S3 is
  supported and we're not currently resuming.

The 4KB size that we pick is an upper estimate for
BaseExtractGuidedSectionLib's internal storage size. The latter is
calculated as follows (see GetExtractGuidedSectionHandlerInfo()):

  sizeof(EXTRACT_GUIDED_SECTION_HANDLER_INFO) +         // 32
  PcdMaximumGuidedExtractHandler * (
    sizeof(GUID) +                                      // 16
    sizeof(EXTRACT_GUIDED_SECTION_DECODE_HANDLER) +     //  8
    sizeof(EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER)     //  8
    )

OVMF sets PcdMaximumGuidedExtractHandler to 16 decimal (which is the
MdePkg default too), yielding 32 + 16 * (16 + 8 + 8) == 544 bytes.

Regarding the lifecycle of the new area:

(a) when and how it is initialized after first boot of the VM

  The library linked into SecMain finds that the area lacks the signature.
  It initializes the signature, plus the rest of the structure. This is
  independent of S3 support.

  Consumption of the area is also limited to SEC (but consumption does
  depend on full-config-boot).

(b) how it is protected from memory allocations during DXE

  It is not, in the general case; and we don't need to. Nothing else links
  against BaseExtractGuidedSectionLib; it's OK if DXE overwrites the area.

(c) how it is protected from the OS

  When S3 is enabled, we cover it with AcpiNVS in InitializeRamRegions().

  When S3 is not supported, the range is not protected.

(d) how it is accessed on the S3 resume path

  Examined by the library linked into SecMain. Registrations update the
  table in-place (based on GUID matches).

(e) how it is accessed on the warm reset path

  If S3 is enabled, then the OS won't damage the table (due to (c)), hence
  see (d).

  If S3 is unsupported, then the OS may or may not overwrite the
  signature. (It likely will.) This is identical to the pre-patch status.

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@15433 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix command-line parsing to start with Argv[0] when comparing passed-in...
Chris Phillips [Fri, 4 Apr 2014 13:45:36 +0000 (13:45 +0000)]
ShellPkg: Fix command-line parsing to start with Argv[0] when comparing passed-in options

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.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@15432 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/PrePi: Use the same calculation to declare the stack size as in the...
Olivier Martin [Thu, 3 Apr 2014 20:05:30 +0000 (20:05 +0000)]
ArmPlatformPkg/PrePi: Use the same calculation to declare the stack size as in the entrypoint

The stack size in the entrypoint (ie: $ARCH/ModuleEntryPoint.S) is calculated such as
StackSize = PrimaryCoreStack + (core_count - 1) * SecondaryCoreStack

While we were declaring the stacksize into the stack hob as:
StackSize = PrimaryCoreStack + (cluster * 8) * SecondaryCoreStack

If the number of cluster (ie: PcdClusterCount) were not defined correctly then
the stack size declaration were not correct.
It could cause stack corruption if the allocator allocates memory in this range.

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@15431 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpress-FVP-AArch64: Fixed number of cores and cluster for Base...
Olivier Martin [Thu, 3 Apr 2014 20:04:39 +0000 (20:04 +0000)]
ArmPlatformPkg/ArmVExpress-FVP-AArch64: Fixed number of cores and cluster for Base and Foundation models

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@15430 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg: Fixed memory leak after calling GetEnvironmentVariable()
Olivier Martin [Wed, 2 Apr 2014 17:33:44 +0000 (17:33 +0000)]
ArmPlatformPkg: Fixed memory leak after calling GetEnvironmentVariable()

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@15428 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg: Fixed GetEnvironmentVariable() when the UEFI Variable did not exist
Olivier Martin [Wed, 2 Apr 2014 17:32:29 +0000 (17:32 +0000)]
ArmPkg: Fixed GetEnvironmentVariable() when the UEFI Variable did not exist

The function was allocating a buffer for the read value from the UEFI Variable.
But it was returning the pointer of the default value when the variable was
not present.
It could cause error when the default value and the returned value were free
when these addresses were the same (double FreePool on the same address).

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@15427 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd missing parameter comment in AddPubKeyInStore()
Dong Guo [Tue, 1 Apr 2014 06:02:10 +0000 (06:02 +0000)]
Add missing parameter comment in AddPubKeyInStore()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Dong, Eric <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15426 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCheck the parameter before use it.
Eric Dong [Tue, 1 Apr 2014 05:55:06 +0000 (05:55 +0000)]
Check the parameter before use it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Gao, Liming <liming,gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15425 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Allow opening of root drive nodes
Jaben Carsey [Mon, 31 Mar 2014 21:06:13 +0000 (21:06 +0000)]
ShellPkg: Allow opening of root drive nodes

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@15424 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix potential memory leak when failing to fully create a structure
Jaben Carsey [Mon, 31 Mar 2014 20:43:04 +0000 (20:43 +0000)]
ShellPkg: Fix potential memory leak when failing to fully create a structure

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@15423 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: add a catch-all match for PCI devices in the OpenFirmware path
Paolo Bonzini [Mon, 31 Mar 2014 20:36:23 +0000 (20:36 +0000)]
OvmfPkg: add a catch-all match for PCI devices in the OpenFirmware path

In many cases, the second node in /pci@i0cf8/XYZ@DD,FF node is enough
to match a UEFI device path; a typical cases is a NIC that is assigned
from the host to the guest.  Add a catch-all case for PCI devices, and
reuse it for NICs since it works well for those too.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15422 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: non-null PcdLib instance for the CSM VideoDxe
Paolo Bonzini [Mon, 31 Mar 2014 20:36:15 +0000 (20:36 +0000)]
OvmfPkg: non-null PcdLib instance for the CSM VideoDxe

VideoDxe is a UEFI_DRIVER, so it has by default a null instance
of PcdLib.  It accesses two PCDs that are now dynamic
(gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution
and gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution).
Similar to r15362 (OvmfPkg: non-null PcdLib instance for
GraphicsConsoleDxe, 2014-03-22), we need to specify a non-null
instance of PcdLib.

This patch unbreaks the CSM VideoDxe module for OvmfPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-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@15421 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: AcpiPlatformDxe: download ACPI tables from QEMU
Laszlo Ersek [Mon, 31 Mar 2014 20:36:06 +0000 (20:36 +0000)]
OvmfPkg: AcpiPlatformDxe: download ACPI tables from QEMU

Recent qemu versions compose all ACPI tables on the host side, according
to the target hardware configuration, and make the tables available to any
guest firmware over fw_cfg.

See version compatibility information below.

The feature moves the burden of keeping ACPI tables up-to-date from boot
firmware to qemu (which is the source of hardware configuration anyway).

This patch adds client code for this feature. Benefits of the
qemu-provided ACPI tables include PCI hotplug for example.

Qemu provides the following three fw_cfg files:
- etc/acpi/rsdp
- etc/acpi/tables
- etc/table-loader

"etc/acpi/rsdp" and "etc/acpi/tables" are similar, they are only kept
separate because they have different allocation requirements in SeaBIOS.

Both of these fw_cfg files contain preformatted ACPI payload.
"etc/acpi/rsdp" contains only the RSDP table, while "etc/acpi/tables"
contains all other tables, concatenated.

The tables in these two fw_cfg files are filled in by qemu, but two kinds
of fields are left incomplete in each table: pointers to other tables, and
checksums (which depend on the pointers).

Qemu initializes each pointer with a relative offset into the fw_cfg file
that contains the pointed-to ACPI table. The final pointer values depend
on where the fw_cfg files, holding the pointed-to ACPI tables, will be
placed in memory by the guest. That is, the pointer fields need to be
"relocated" (incremented) by the base addresses of where "/etc/acpi/rsdp"
and "/etc/acpi/tables" will be placed in guest memory.

This is where the third file, "/etc/table-loader" comes in the picture. It
is a linker/loader script that has several command types:

  One command type instructs the guest to download the other two files.

  Another command type instructs the guest to increment ("absolutize") a
  pointer field (having a relative initial value) in the pointing ACPI
  table, present in some fw_cfg file, with the dynamic base address of the
  same (or another) fw_cfg file, holding the pointed-to ACPI table.

  The third command type instructs the guest to compute checksums over
  ranges and to store them.

In edk2, EFI_ACPI_TABLE_PROTOCOL knows about table relationships -- it
handles linkage automatically when a table is installed. The protocol
takes care of checksumming too. RSDP is installed automatically. Hence we
only need to care about the "etc/acpi/tables" fw_cfg file, determining the
boundaries of each ACPI table inside it, and installing those tables.

Qemu compatibility information:

--------------+---------------------+-------------------------------------
 qemu version | qemu machine type   | effects of the patch
--------------+---------------------+-------------------------------------
 up to 1.6.x  | any pc-i440fx       | None. OVMF's built-in ACPI tables
              |                     | are used.
--------------+---------------------+-------------------------------------
 any          | up to pc-i440fx-1.6 | None. OVMF's built-in ACPI tables
              |                     | are used.
--------------+---------------------+-------------------------------------
 1.7.0        | pc-i440fx-1.7       | Potential guest OS crash, dependent
              | (default for 1.7.0) | on guest RAM size.
              |                     |
              |                     | DO NOT RUN OVMF on the (1.7.0,
              |                     | pc-i440fx-1.7) qemu / machine type
              |                     | combination.
--------------+---------------------+-------------------------------------
 1.7.1        | pc-i440fx-1.7       | OVMF downloads valid ACPI tables
              | (default for 1.7.1) | from qemu and passes them to the
              |                     | guest OS.
--------------+---------------------+-------------------------------------
 2.0.0-rc0    | pc-i440fx-1.7 or    | OVMF downloads valid ACPI tables
              | later               | from qemu and passes them to the
              |                     | guest OS.
 -------------+---------------------+-------------------------------------

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@15420 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: AcpiS3SaveDxe: do not load if S3 is unsupported/disabled in qemu
Laszlo Ersek [Mon, 31 Mar 2014 20:35:58 +0000 (20:35 +0000)]
OvmfPkg: AcpiS3SaveDxe: do not load if S3 is unsupported/disabled in qemu

The previous patch ensures that the LockBox is protected during DXE (but
the OS can still drop it) if S3 is unsupported or disabled. However, S3
related drivers not only save data in the lockbox, they allocate objects
with Reserved and AcpiNVS memory types too, which the OS can't (must not)
release. This is a waste when S3 is unsupported or disabled.

In OVMF a good "choke point" for these drivers is the entry point of
AcpiS3SaveDxe. The messages of the following commits are relevant to the
data and control flow:

- SVN r15290 (git commit 8f5ca05b)
- SVN r15305 (git commit 5a217a06)
- SVN r15306 (git commit d4ba06df)

Prevent AcpiS3SaveDxe from loading when S3 is unsupported or disabled.
This should keep away (most of the) dependent drivers too.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Matt Fleming <matt.fleming@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15419 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformPei: lifecycle fixes for the LockBox area
Laszlo Ersek [Mon, 31 Mar 2014 20:35:50 +0000 (20:35 +0000)]
OvmfPkg: PlatformPei: lifecycle fixes for the LockBox area

If (mBootMode == BOOT_ON_S3_RESUME) -- that is, we are resuming --, then
the patch has no observable effect.

If (mBootMode != BOOT_ON_S3_RESUME && mS3Supported) -- that is, we are
booting or rebooting, and S3 is supported), then the patch has no
observable effect either.

If (mBootMode != BOOT_ON_S3_RESUME && !mS3Supported) -- that is, we are
booting or rebooting, and S3 is unsupported), then the patch effects the
following two fixes:

- The LockBox storage is reserved from DXE (but not the OS). Drivers in
  DXE may save data in the LockBox regardless of S3 support, potentially
  corrupting any overlapping allocations. Make sure there's no overlap.

- The LockBox storage is cleared. A LockBox inherited across a non-resume
  reboot, populated with well-known GUIDs, breaks drivers that want to
  save entries with those GUIDs.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Matt Fleming <matt.fleming@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15418 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRemove unused [PcdsDynamic, PcdsDynamicEx] section.
Dong Guo [Mon, 31 Mar 2014 01:54:51 +0000 (01:54 +0000)]
Remove unused [PcdsDynamic, PcdsDynamicEx] section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Fan, Jeff <jeff.fan@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15416 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCheck the input file pointer before use it.
Eric Dong [Fri, 28 Mar 2014 05:51:51 +0000 (05:51 +0000)]
Check the input file pointer before use it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Guo, Dong <guo.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15412 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd check to avoid null pointer deference.
Ruiyu Ni [Fri, 28 Mar 2014 02:50:47 +0000 (02:50 +0000)]
Add check to avoid null pointer deference.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15410 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoSecurityPkg Variable: Add NULL pointer check.
Star Zeng [Fri, 28 Mar 2014 02:47:46 +0000 (02:47 +0000)]
SecurityPkg Variable: Add NULL pointer check.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15409 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd NULL pointer check in I2chost.
Elvin Li [Fri, 28 Mar 2014 02:34:31 +0000 (02:34 +0000)]
Add NULL pointer check in I2chost.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15408 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd ASSERT to check if NewVariable is NULL.
Elvin Li [Fri, 28 Mar 2014 02:13:41 +0000 (02:13 +0000)]
Add ASSERT to check if NewVariable is NULL.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15407 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Fix file system change issue that results in ASSERT
Chris Phillips [Thu, 27 Mar 2014 18:21:43 +0000 (18:21 +0000)]
ShellPkg: Fix file system change issue that results in ASSERT

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15406 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRemove hide TPM support.
Dong Guo [Thu, 27 Mar 2014 11:03:04 +0000 (11:03 +0000)]
Remove hide TPM support.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15405 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoCalculate enough space for 2 variables (public key and variable data) instead of...
Dong Guo [Thu, 27 Mar 2014 10:54:23 +0000 (10:54 +0000)]
Calculate enough space for 2 variables (public key and variable data) instead of directly setting them 1 by 1.
Fixed a bug in public key reclaim().

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15404 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoUpdate code logic, remove ASSERT and use error handling.
Eric Dong [Thu, 27 Mar 2014 07:08:15 +0000 (07:08 +0000)]
Update code logic, remove ASSERT and use error handling.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15403 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoNot to copy mailbox into new space when debug agent initialization for S3 Boot Script.
Jeff Fan [Thu, 27 Mar 2014 06:02:54 +0000 (06:02 +0000)]
Not to copy mailbox into new space when debug agent initialization for S3 Boot Script.

Contributed-under: TianoCore Contribution Agreement 1.0
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@15402 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRemove RT attribute for variable PlatDriOver.
Gao, Liming [Thu, 27 Mar 2014 05:11:02 +0000 (05:11 +0000)]
Remove RT attribute for variable PlatDriOver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Yao, Jiewen <jiewen.yao@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15401 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmCpuLib: Added A57 Errata 806969
Olivier Martin [Wed, 26 Mar 2014 19:35:17 +0000 (19:35 +0000)]
ArmPkg/ArmCpuLib: Added A57 Errata 806969

This rare errata only affects r0p0

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@15400 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmLib: Correct Error Handling in AArch64
Olivier Martin [Wed, 26 Mar 2014 19:34:32 +0000 (19:34 +0000)]
ArmPkg/ArmLib: Correct Error Handling in AArch64

There are several instances of asserts which do not also handle
the error condition in Release builds.
Because these functions are called in different location of the
code and their parameters might change during the execution, it
is safer to handle the error.

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@15399 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmCortexA5xLib: Fixed setting of SMP bit
Olivier Martin [Wed, 26 Mar 2014 19:33:51 +0000 (19:33 +0000)]
ArmPkg/ArmCortexA5xLib: Fixed setting of SMP bit

On CortexA5x the SMP bit is BIT6 of CPUECTLR_EL1 register.

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@15398 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmCortexA5x: Declared the helper functions to access the CPU Extended Control...
Olivier Martin [Wed, 26 Mar 2014 19:32:48 +0000 (19:32 +0000)]
ArmPkg/ArmCortexA5x: Declared the helper functions to access the CPU Extended Control Register

This register is A5x specific. It is the reason why the code moved from ArmLib
to ArmCpuLib/ArmCortexA5xLib.

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@15397 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmLib: Added helper functions for accessing CPU ACTLR
Olivier Martin [Wed, 26 Mar 2014 19:31:01 +0000 (19:31 +0000)]
ArmPkg/ArmLib: Added helper functions for accessing CPU ACTLR

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@15396 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/Chipset: Added ARMv8 CPU's PartNum
Olivier Martin [Wed, 26 Mar 2014 19:29:31 +0000 (19:29 +0000)]
ArmPkg/Chipset: Added ARMv8 CPU's PartNum

PartNum is the field of MIDR that returns the CPU name.

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@15395 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPlatformPkg/ArmVExpressPkg: Add processor identifiers for Cortex A12/A7
Olivier Martin [Wed, 26 Mar 2014 19:28:35 +0000 (19:28 +0000)]
ArmPlatformPkg/ArmVExpressPkg: Add processor identifiers for Cortex A12/A7

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@15394 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoAdd check to make sure the data be valid.
Gao, Liming [Wed, 26 Mar 2014 09:27:01 +0000 (09:27 +0000)]
Add check to make sure the data be valid.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15393 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoPerfomancePkg Dp: Add missing EFIAPI for PrintToken().
Star Zeng [Wed, 26 Mar 2014 07:08:12 +0000 (07:08 +0000)]
PerfomancePkg Dp: Add missing EFIAPI for PrintToken().

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@15392 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoRemove RT attribute for variable LegacyDevOrder
Ruiyu Ni [Wed, 26 Mar 2014 04:23:48 +0000 (04:23 +0000)]
Remove RT attribute for variable LegacyDevOrder

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15391 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/SemihostFs: Various fixes for the file system
Harry Liebel [Tue, 25 Mar 2014 11:04:41 +0000 (11:04 +0000)]
ArmPkg/SemihostFs: Various fixes for the file system

- Fix file deletion from the shell.
- Fix file creation using the shell editor.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15390 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/SemihostLib: Made arguments 'native' size
Harry Liebel [Tue, 25 Mar 2014 11:03:54 +0000 (11:03 +0000)]
ArmPkg/SemihostLib: Made arguments 'native' size

The arguments passed to the semi-hosing backend should
be of 'native' size to match register widths.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15389 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoMdeModulePkg/SecurityPkg Variable: Calculate enough space for PlatformLang and Lang...
Star Zeng [Tue, 25 Mar 2014 06:56:55 +0000 (06:56 +0000)]
MdeModulePkg/SecurityPkg Variable: Calculate enough space for PlatformLang and Lang variables and use PcdUefiVariableDefaultLangDeprecate to turn off auto update between PlatformLang and Lang variables.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15388 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoSupport load 64 bit image from 32 bit core.
Eric Dong [Tue, 25 Mar 2014 05:04:21 +0000 (05:04 +0000)]
Support load 64 bit image from 32 bit core.
Add more enhancement to check invalid PE format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-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@15387 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoReport the setting variable failure to platform through the status code when core...
Ruiyu Ni [Tue, 25 Mar 2014 03:54:34 +0000 (03:54 +0000)]
Report the setting variable failure to platform through the status code when core cannot handle the error.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15386 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoReport the setting variable failure to platform through the status code when core...
Ruiyu Ni [Tue, 25 Mar 2014 02:38:54 +0000 (02:38 +0000)]
Report the setting variable failure to platform through the status code when core cannot handle the error.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15385 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/CompilerIntrinsicsLib: Added memset() to AArch64
Olivier Martin [Mon, 24 Mar 2014 15:30:48 +0000 (15:30 +0000)]
ArmPkg/CompilerIntrinsicsLib: Added memset() to AArch64

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@15384 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoEmbeddedPkg: Added Isp1761UsbDxe to EmbeddedPkg.dsc
Olivier Martin [Mon, 24 Mar 2014 15:29:50 +0000 (15:29 +0000)]
EmbeddedPkg: Added Isp1761UsbDxe to EmbeddedPkg.dsc

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@15383 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmLib: Removed unused AArch64 files
Olivier Martin [Mon, 24 Mar 2014 15:29:03 +0000 (15:29 +0000)]
ArmPkg/ArmLib: Removed unused AArch64 files

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@15382 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmLib: Renamed Cp15CacheInfo into ArmCacheInfo
Olivier Martin [Mon, 24 Mar 2014 15:26:22 +0000 (15:26 +0000)]
ArmPkg/ArmLib: Renamed Cp15CacheInfo into ArmCacheInfo

CTR (Cache Type Register) has the same format on ARMv7 and AArch64.
Renaming Cp15CacheInfo() into ArmCacheInfo() makes this function
architecture independent.

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@15381 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg/ArmLib: Removed unused ArmSwitchProcessorMode & ArmProcessorMode functions
Olivier Martin [Mon, 24 Mar 2014 15:25:44 +0000 (15:25 +0000)]
ArmPkg/ArmLib: Removed unused ArmSwitchProcessorMode & ArmProcessorMode functions

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@15380 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg: Removed unused header files from source files
Olivier Martin [Mon, 24 Mar 2014 15:25:01 +0000 (15:25 +0000)]
ArmPkg: Removed unused header files from source files

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@15379 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoArmPkg: Fix typo in comment and trailing spaces
Olivier Martin [Mon, 24 Mar 2014 15:24:23 +0000 (15:24 +0000)]
ArmPkg: Fix typo in comment and trailing spaces

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@15378 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoComment PwdCredential driver.
Dong Guo [Sun, 23 Mar 2014 23:47:18 +0000 (23:47 +0000)]
Comment PwdCredential driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15376 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: connect RouteConfig() to platform data
Laszlo Ersek [Sat, 22 Mar 2014 07:14:09 +0000 (07:14 +0000)]
OvmfPkg: PlatformDxe: connect RouteConfig() to platform data

Establish the full stack of conversions when modifying the platform
configuration:

       ConfigResp            -- form engine / HII communication
            |
     [ConfigToBlock]
            |
            v
     MAIN_FORM_STATE         -- binary representation of form/widget state
            |
[FormStateToPlatformConfig]
            |
            v
     PLATFORM_CONFIG         -- accessible to DXE and UEFI drivers
            |
   [PlatformConfigSave]
            |
            v
  UEFI non-volatile variable -- accessible to external utilities

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@15375 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: connect ExtractConfig() to platform data
Laszlo Ersek [Sat, 22 Mar 2014 07:14:03 +0000 (07:14 +0000)]
OvmfPkg: PlatformDxe: connect ExtractConfig() to platform data

Establish the full stack of conversions in retrieving the platform
configuration:

    MultiConfigAltResp       -- form engine / HII communication
            ^
            |
     [BlockToConfig]
            |
     MAIN_FORM_STATE         -- binary representation of form/widget state
            ^
            |
[PlatformConfigToFormState]
            |
     PLATFORM_CONFIG         -- accessible to DXE and UEFI drivers
            ^
            |
   [PlatformConfigLoad]
            |
  UEFI non-volatile variable -- accessible to external utilities

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@15374 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: add save and discard buttons to the form
Laszlo Ersek [Sat, 22 Mar 2014 07:13:57 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: add save and discard buttons to the form

The RouteConfig() function is also called now as expected.

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@15373 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: get available resolutions from GOP
Laszlo Ersek [Sat, 22 Mar 2014 07:13:50 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: get available resolutions from GOP

Generate the options for the drop-down list from the GOP resolutions.

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@15372 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: QemuVideoDxe: serialize Start() against callbacks
Laszlo Ersek [Sat, 22 Mar 2014 07:13:44 +0000 (07:13 +0000)]
OvmfPkg: QemuVideoDxe: serialize Start() against callbacks

If Start() succeeds, the callback is only executed when the setup is
complete (on the stack of RestoreTPL()), rather than on the stack of
InstallMultipleProtocolInterfaces(), when the driver setup may yet be
theoretically incomplete.

If Start() fails, the protocol interface will have been uninstalled
(rolled back) by the time the callback runs (again, on the stack of
RestoreTPL()). Since protocol notification callbacks begin with locating
the protocol interface in question, such attempts to locate will fail
immediately and save some work in the callback.

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@15371 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg/PlatformDxe: Silence warning seen with GCC48 IA32
Jordan Justen [Sat, 22 Mar 2014 07:13:38 +0000 (07:13 +0000)]
OvmfPkg/PlatformDxe: Silence warning seen with GCC48 IA32

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15370 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: add form widgets for video modes
Laszlo Ersek [Sat, 22 Mar 2014 07:13:31 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: add form widgets for video modes

In this patch we populate the form with the two widgets related to video
resolution:
- A read-only string field displaying the preference for the next boot.
- A drop-down list offering choices for changing the setting. This list is
  implemented with dynamically generated IFR opcodes.

(In general, the current preference may be missing, or it may be invalid
for the available video RAM size. The list of possible new settings is
filtered with the video RAM size.)

Because the form now becomes able to receive input, we must also implement
ExtractConfig(). This function tells the HII engine about the state of the
widgets.

For now we set up both widgets with static data only:
- The current preference always says "Unset". The driver code is still
  isolated from the backend (the UEFI variable store).
- The list of possible resolutions offers 800x600 only. We don't
  interrogate the GOP yet.

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@15369 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: introduce state for the main form
Laszlo Ersek [Sat, 22 Mar 2014 07:13:24 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: introduce state for the main form

We'll need a C language (ie. structure) representation for the state of
the visual elements on the form. We choose the Buffer Storage kind (see
29.2.5.6 "Storage" in UEFI 2.4A), because it's easy to work with.

Note that the structure added in this patch has nothing to do with UEFI
non-volatile variables.

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@15368 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: add an empty HII form
Laszlo Ersek [Sat, 22 Mar 2014 07:13:18 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: add an empty HII form

... which opens from the Device Manager window.

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@15367 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: set preferred video resolution from platform config
Laszlo Ersek [Sat, 22 Mar 2014 07:13:09 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: set preferred video resolution from platform config

The GraphicsConsoleDxe driver (in MdeModulePkg/Universal/Console)
determines the preferred video resolution from the dynamic PCDs
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution

Setting the graphics resolution during boot is useful when the guest OS
(for lack of a dedicated display driver) continues to work with the
original GOP resolution and framebuffer.

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@15366 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: PlatformDxe: utility functions for saving / loading configuration
Laszlo Ersek [Sat, 22 Mar 2014 07:13:02 +0000 (07:13 +0000)]
OvmfPkg: PlatformDxe: utility functions for saving / loading configuration

The two functions introduced here allow the saving and loading of platform
configuration to/from the non-volatile variable store.

The PLATFORM_CONFIG structure and the two functions that take it / return
it are generally meant for any DXE or UEFI driver that needs to access
platform configuration. For now we keep this small "library" internal to
PlatformDxe.

The PLATFORM_CONFIG wire format is intended only to grow over time (as
long as the variable GUID remains unchanged). At the introduction of new
fields, new feature flags must be added, and recognized in
PlatformConfigLoad().

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@15365 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: introduce empty PlatformDxe
Laszlo Ersek [Sat, 22 Mar 2014 07:12:55 +0000 (07:12 +0000)]
OvmfPkg: introduce empty PlatformDxe

This DXE driver will load/save persistent values for OVMF's config knobs,
plus expose those knobs via HII.

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@15364 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: introduce gOvmfPlatformConfigGuid
Laszlo Ersek [Sat, 22 Mar 2014 07:12:46 +0000 (07:12 +0000)]
OvmfPkg: introduce gOvmfPlatformConfigGuid

This GUID should become a new "namespace" for UEFI variables that are
specific to OVMF configuration (as opposed to standard UEFI global
variables). We'll also use it as the GUID of the related HII form-set (ie.
the interactive user interface).

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@15363 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoOvmfPkg: non-null PcdLib instance for GraphicsConsoleDxe
Laszlo Ersek [Sat, 22 Mar 2014 07:12:36 +0000 (07:12 +0000)]
OvmfPkg: non-null PcdLib instance for GraphicsConsoleDxe

GraphicsConsoleDxe (a UEFI_DRIVER under MdeModulePkg/Universal/Console)
determines the preferred video resolution from the dynamic PCDs
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution

In one of the next patches, we'd like to change these PCDs. In order for
GraphicsConsoleDxe to retrieve the new values dynamically,
- it must be linked with the non-null instance of PcdLib,
- OvmfPkg must provide dynamic defaults.

We keep MdeModulePkg's 800x600 default resolution. (The UEFI specification
requires video drivers to support 800x600.)

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@15362 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix current TPM device string missing. Use efivarstore instead of varstor, remove...
Jiewen Yao [Fri, 21 Mar 2014 02:51:42 +0000 (02:51 +0000)]
Fix current TPM device string missing. Use efivarstore instead of varstor, remove TPM disable.

Signed-off-by: Jiewen Yao <Jiewen.yao@intel.com>
Reviewed-by: Guo Dong <Guo.Dong@intel.com>
Reviewed-by: Liming Gao <Liming.Gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15360 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoMdeModulePkg PCD: Fix PCD driver to return default data if size mismatch.
Star Zeng [Fri, 21 Mar 2014 01:16:07 +0000 (01:16 +0000)]
MdeModulePkg PCD: Fix PCD driver to return default data if size mismatch.

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@15357 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoForce UID modules build error to warn user that currently it is just a sample.
Dong Guo [Fri, 21 Mar 2014 00:57:42 +0000 (00:57 +0000)]
Force UID modules build error to warn user that currently it is just a sample.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dong Guo <guo.dong@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15356 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoFix TCP4/TCP6 connections. Connections were transitioning into the connected state...
leroy.p.leahy [Thu, 20 Mar 2014 22:05:51 +0000 (22:05 +0000)]
Fix TCP4/TCP6 connections.  Connections were transitioning into the connected state and the polling was returning an error.  Fix the polling routine to return success in this case.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: leroy.p.leahy@intel.com
Reviewed-by: SREENIVASULA_REDDY@Dell.com
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15355 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: remove redudant code. call existing API.
Jaben Carsey [Thu, 20 Mar 2014 17:12:30 +0000 (17:12 +0000)]
ShellPkg: remove redudant code.  call existing API.

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@15354 6f19259b-4bc3-4df7-8a09-765794883524

10 years agoShellPkg: Remove unused function
Jaben Carsey [Thu, 20 Mar 2014 17:11:52 +0000 (17:11 +0000)]
ShellPkg: Remove unused function

This function was not exposed outside the library and is not used internally.

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@15353 6f19259b-4bc3-4df7-8a09-765794883524