BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2340 Commit2db0ccc2d7
("UefiCpuPkg: Update CpuExceptionHandlerLib pass XCODE5 tool chain") introduced binary patching into the exception handling support. CPU exception handling is allowed during SEC and this results in binary patching of flash, which should not be done. Separate the changes from commit2db0ccc2d7
into an XCODE5 toolchain specific file, Xcode5ExceptionHandlerAsm.nasm, and create a new SEC INF file for the XCODE5 version of CpuExceptionHandlerLib. Since binary patching is allowed when running outside of flash, switch the Dxe, Pei and Smm versions of the CpuExceptionHandlerLib over to use the Xcode5ExceptionHandlerAsm.nasm file to retain current functionality. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Message-Id: <9075570487616c731033a5738f6a444a15d71b74.1588856809.git.thomas.lendacky@amd.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
60 lines
1.6 KiB
INI
60 lines
1.6 KiB
INI
## @file
|
|
# CPU Exception Handler library instance for DXE modules.
|
|
#
|
|
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = DxeCpuExceptionHandlerLib
|
|
MODULE_UNI_FILE = DxeCpuExceptionHandlerLib.uni
|
|
FILE_GUID = B6E9835A-EDCF-4748-98A8-27D3C722E02D
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.1
|
|
LIBRARY_CLASS = CpuExceptionHandlerLib|DXE_CORE DXE_DRIVER UEFI_APPLICATION
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources.Ia32]
|
|
Ia32/ExceptionHandlerAsm.nasm
|
|
Ia32/ExceptionTssEntryAsm.nasm
|
|
Ia32/ArchExceptionHandler.c
|
|
Ia32/ArchInterruptDefs.h
|
|
|
|
[Sources.X64]
|
|
X64/Xcode5ExceptionHandlerAsm.nasm
|
|
X64/ArchExceptionHandler.c
|
|
X64/ArchInterruptDefs.h
|
|
|
|
[Sources.common]
|
|
CpuExceptionCommon.h
|
|
CpuExceptionCommon.c
|
|
PeiDxeSmmCpuException.c
|
|
DxeException.c
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuStackSwitchExceptionList
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuKnownGoodStackSize
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
SerialPortLib
|
|
PrintLib
|
|
SynchronizationLib
|
|
LocalApicLib
|
|
PeCoffGetEntryPointLib
|
|
MemoryAllocationLib
|
|
DebugLib
|