Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Michael Kinney 69a0854b8f QuarkPlatformPkg/PlatformInit: Fix recovery detection issues
https://bugzilla.tianocore.org/show_bug.cgi?id=137
https://bugzilla.tianocore.org/show_bug.cgi?id=139

There are four supported methods to generate a boot mode of
BOOT_IN_RECOVERY_MODE on the Galileo platforms:

* Detect a corrupt FV
* Detect a forced recovery from the ForceRecovery UEFI application
  that sets a bit in a sticky R/W register
* The RESET button for the Arduino shield is held while the system
  is powered up
* The RESET button for the Arduino shield is held while the system
  is rebooted using the REBOOT button.

The logic in the PlatformInit module is cleaned up and updated to
support all three of the recovery detection methods.  The clean
ups include:

* Remove extra debug messages
* Remove user input from serial port

In addition, once one of the recovery methods is detected and a
boot mode of BOOT_IN_RECOVERY_MODE is set, the Galileo platforms
would get an error attempting to use the USB host controller to
detect and read a recovery image from a USB drive.  The issue is
the IMR protection registers are programmed to prevent DMA to
memory owned by the PEI Core. The IMR register programming is
updated to allow DMA to memory that is allocated by the recovery
modules using the PEI AllocatePages() service.

Cc: Kelly Steele <kelly.steele@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Kelly Steele <kelly.steele@intel.com>
2016-10-07 15:00:21 -07:00
AppPkg
ArmPkg ArmPkg/CpuDxe: Fix MMU initialization problem 2016-09-26 15:50:28 -07:00
ArmPlatformPkg ArmPlatformPkg/NorFlashDxe: use strictly aligned CopyMem() 2016-09-09 13:48:49 +01:00
ArmVirtPkg ArmVirtPkg: Use the new LogoDxe driver 2016-09-28 16:22:35 +08:00
BaseTools BaseTools Build: Fix build break for clean target in Linux 2016-09-30 14:13:53 +08:00
BeagleBoardPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
Conf
CorebootModulePkg CorebootModulePkg/SecCore: Adding NASM files in SecCore module 2016-08-03 17:20:17 -07:00
CorebootPayloadPkg CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific 2016-09-02 10:07:15 +08:00
CryptoPkg CryptoPkg/OpensslLib: Upgrade OpenSSL version to 1.0.2j 2016-09-30 09:18:45 +08:00
DuetPkg DuetPkg: Add DxeMpInitLib instance reference 2016-08-19 15:09:26 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: Fix GCC build failure 2016-08-01 12:44:44 +08:00
EdkShellBinPkg
EdkShellPkg
EmbeddedPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
EmulatorPkg
FatBinPkg
FatPkg FatPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:03 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Use IsZeroGuid API for zero GUID checking 2016-08-31 11:13:49 +08:00
IntelFrameworkPkg IntelFrameworkPkg/FrameworkSpecConformance.txt: Update the URL 2016-09-15 16:08:01 +08:00
IntelFsp2Pkg IntelFsp2Pkg/Tools: Add PE32 section rebasing support 2016-10-05 20:07:58 -07:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:05 +08:00
IntelFspPkg IntelFspPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelFspWrapperPkg IntelFspWrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelSiliconPkg IntelSiliconPkg: Updated IgdOpregion.h based on latest spec 2016-10-07 10:09:09 -07:00
MdeModulePkg MdeModulePkg/ImageDecoderLib: Retire it due to new BootLogoLib 2016-09-29 14:07:22 +08:00
MdePkg MdePkg/HiiImage.h: Include GraphicsOutput.h 2016-09-28 16:21:51 +08:00
NetworkPkg NetworkPkg: Clean the previous address since the policy changed 2016-09-26 21:25:23 +08:00
Nt32Pkg Nt32Pkg: Use the new LogoDxe driver 2016-09-28 16:22:32 +08:00
Omap35xxPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
OptionRomPkg OptionRomPkg: .dsc fixes for ARM/AARCH64 and USB drivers 2016-09-09 20:41:43 +01:00
OvmfPkg OvmfPkg: Use the new LogoDxe driver 2016-09-28 16:22:38 +08:00
PcAtChipsetPkg PcAtChipsetPkg: Remove KbcResetDxe 2016-09-02 10:07:17 +08:00
PerformancePkg PerformancePkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:09 +08:00
QuarkPlatformPkg QuarkPlatformPkg/PlatformInit: Fix recovery detection issues 2016-10-07 15:00:21 -07:00
QuarkSocPkg QuarkSocPkg/QncSmmDispatcher: Fix use after free issue 2016-10-07 14:56:37 -07:00
SecurityPkg SecurityPkg: Tcg2: Fix TCG2 PP issues 2016-09-29 10:30:30 +08:00
ShellBinPkg
ShellPkg ShellPkg: Fix erroneous Status returned by ShellOpenFileByName() 2016-10-07 10:35:40 -07:00
SourceLevelDebugPkg UefiCpuPkg/LocalApic.h: Remove duplicated/conflicted definitions 2016-08-17 19:54:41 +08:00
StdLib StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics 2016-08-09 10:10:12 +02:00
StdLibPrivateInternalFiles
UefiCpuPkg UefiCpuPkg/SecCore: SecPlatformInformation(2) are optional PPIs 2016-09-21 14:12:49 +08:00
UnixPkg
Vlv2DeviceRefCodePkg
Vlv2TbltDevicePkg Vlv2TbltDevicePkg:Signal End of Dxe Event. 2016-09-14 13:22:07 +08:00
.gitignore
BuildNotes2.txt
Edk2Setup.bat
Maintainers.txt Maintainers.txt: Add Giri as IntelFsp2*Pkg, IntelSiliconPkg maintainer 2016-09-08 23:36:45 +08:00
edksetup.bat
edksetup.sh edksetup.sh: update the URL in edksetup.sh 2016-09-15 16:04:14 +08:00