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 AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
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 EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
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 */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
EmulatorPkg BaseTools GCC: use 'gcc' as the linker command for GCC44 and later 2016-08-02 08:40:43 +02:00
FatBinPkg FatBinPkg: Change to 2-clause BSD license 2016-04-22 00:55:21 -07:00
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 ShellBinPkg Arm/AArch64 Shell binary update 2016-08-02 12:25:13 +02:00
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 StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg/SecCore: SecPlatformInformation(2) are optional PPIs 2016-09-21 14:12:49 +08:00
UnixPkg
Vlv2DeviceRefCodePkg Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code 2016-08-03 11:02:19 +08:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg:Signal End of Dxe Event. 2016-09-14 13:22:07 +08:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Add Giri as IntelFsp2*Pkg, IntelSiliconPkg maintainer 2016-09-08 23:36:45 +08:00
edksetup.bat Update edksetup.bat to check NASM system environment variable 2016-07-26 10:16:48 +08:00
edksetup.sh edksetup.sh: update the URL in edksetup.sh 2016-09-15 16:04:14 +08:00