Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Brian J. Johnson 3b87e3881e SourceLevelDebugPkg: Fix PEI timer interrupt regression
Recent changes to debug timer initialization (commit 2befbc82, svn 17572)
modified the Sec/Pei InitializeDebugAgent() routine to enable debug timer
interrupts.  This causes problems in the DEBUG_AGENT_INIT_POSTMEM_SEC case:
the callers appear to assume that if they block timer interrupts before the
call, interrupts will remain blocked afterwards.

It is not always safe to have interrupts enabled on return from
InitializeDebugAgent().  For instance, after calling InitializeDebugAgent(),
OvmfPkg's TemporaryRamMigration() moves the stack, heap, and IDT to RAM, then
switches to the new stack.  Only then does it reenable timer interrupts.
Taking an interrupt during this process can corrupt state, causing crashes.

Do not unmask the debug timer interrupt in the DEBUG_AGENT_INIT_POSTMEM_SEC
case.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brian J. Johnson <bjohnson@sgi.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17893 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-09 02:29:58 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg/CpuDxe: Fixed AArch64 MMU 2015-07-06 16:53:37 +00:00
ArmPlatformPkg Revert "ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names." 2015-07-08 16:20:30 +00:00
ArmVirtPkg ArmVirtPkg/ArmVirt.dsc.inc: Fixed BuildOptions 2015-07-07 15:49:16 +00:00
BaseTools BaseTools/Upt: Add a BOM check for UNI file and fix some help message error 2015-07-08 05:43:22 +00:00
BeagleBoardPkg ArmPlatformPkg: Give a name to the FV 2015-07-06 16:45:13 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Get power management register addresses. 2015-07-01 09:41:58 +00:00
CorebootPayloadPkg CorebootPayloadPkg: Fix "reset -s" issue. 2015-06-25 16:02:16 +00:00
CryptoPkg CryptoPkg: Fix the dereferenced pointer issue 2015-06-30 03:27:23 +00:00
DuetPkg DuetPkg: Use the new PCDs defined in MdePkg. 2015-05-06 03:26:49 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk 2015-07-07 03:05:18 +00: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 EmbeddedPkg: Remove duplicated definitions of ZeroGuid 2015-07-07 15:46:23 +00:00
EmulatorPkg EmulatorPkg: Add TpmMeasurementLib and AuthVariableLib library mapping 2015-07-01 03:06:09 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatch 2015-07-07 06:13:53 +00:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Use safe string functions 2015-06-30 06:28:57 +00:00
IntelFspPkg IntelFspPkg BaseFspDebugLibSerialPort: Use safe string functions 2015-06-30 06:30:20 +00:00
IntelFspWrapperPkg FspInitPei function calling parameters not matching with the function definition. 2015-07-07 05:47:08 +00:00
MdeModulePkg fix the problem that data type conversion may loss data. 2015-07-08 09:49:41 +00:00
MdePkg MdePkg: SmmMemLib.inf: add Depex section and update protocol usage. 2015-07-09 01:16:33 +00:00
NetworkPkg NetworkPkg:Replace unsafe string functions. 2015-07-08 12:17:11 +00:00
Nt32Pkg Nt32Pkg: Use the merged Variable driver 2015-07-01 03:09:00 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files 2015-07-08 02:56:54 +00:00
OvmfPkg OvmfPkg: Fix the build.sh shebang line to avoid depending on location of bash 2015-07-08 07:11:35 +00:00
PcAtChipsetPkg PcRtc: Fix PcRtcInit() to not clear RegisterB Hour Format bit (BIT1) sometimes 2015-07-07 05:41:43 +00:00
PerformancePkg PerformancePkg Dp_App: Resolve buffer size mismatch 2015-06-30 06:31:28 +00:00
SecurityPkg SecurityPkg:Replace unsafe string functions. 2015-07-08 06:59:50 +00:00
ShellBinPkg ShellBinPkg: Ia32/X64 Shell binary update. 2015-06-12 11:20:53 +00:00
ShellPkg ShellPkg: Remove Status definition in function scope 2015-07-08 13:41:09 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg: Fix PEI timer interrupt regression 2015-07-09 02:29:58 +00:00
StdLib StdLib: Remove EfiSocketLib and Ip4Config Protocol dependency. 2015-07-08 03:12:58 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg/Library/CpuExceptionHandlerLib: Add exception type decoder 2015-07-08 05:45:10 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Fixed potential security issue introduced by SmramCpuNvs variable. 2015-06-23 07:22:44 +00:00
Vlv2TbltDevicePkg Fixed a couple of typos of 'Configuration' ('Congfiguration') in Vlv2TbltDevicePkg. 2015-07-01 08:45:46 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Edk2: Update Edk2Setup.bat 2015-06-16 07:23:45 +00:00
Maintainers.txt Maintainers.txt: Added co-maintainer for MdePkg/IntelFrameworkPkg/ShellPkg 2015-07-03 01:32:04 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00