Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Michael Kinney 529a5a8609 UefiCpuPkg: Add PiSmmCpuDxeSmm module no IA32/X64 files
Add module that initializes a CPU for the SMM environment and
installs the first level SMI handler.  This module along with the
SMM IPL and SMM Core provide the services required for
DXE_SMM_DRIVERS to register hardware and software SMI handlers.

CPU specific features are abstracted through the SmmCpuFeaturesLib

Platform specific features are abstracted through the
SmmCpuPlatformHookLib

Several PCDs are added to enable/disable features and configure
settings for the PiSmmCpuDxeSmm module

Changes between [PATCH v1] and [PATCH v2]:
1) Swap PTE init order for QEMU compatibility.
   Current PTE initialization algorithm works on HW but breaks QEMU
   emulator.  Update the PTE initialization order to be compatible
   with both.
2) Update comment block that describes 32KB SMBASE alignment requirement
   to match contents of Intel(R) 64 and IA-32 Architectures Software
   Developer's Manual
3) Remove BUGBUG comment and call to ClearSmi() that is not required.
   SMI should be cleared by root SMI handler.

[jeff.fan@intel.com: Fix code style issues reported by ECC]

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>

[pbonzini@redhat.com: InitPaging: prepare PT before filling in PDE]
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Acked-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18645 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-19 19:12:53 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg/ArmLib MMU: add functions to set/clear RO and XN bits on regions 2015-10-08 18:52:16 +00:00
ArmPlatformPkg Update the ACPI device information for ARM Juno. 2015-10-19 15:14:13 +00:00
ArmVirtPkg ArmVirtPkg: include BaseStackCheckLib also for AARCH64 2015-10-16 15:23:46 +00:00
BaseTools BaseTools VfrCompiler: In order to keep consistent, add an optional ";" for condition op-code. 2015-10-15 01:03:47 +00:00
BeagleBoardPkg BeagleBoardPkg: remove outdated build scripts and instructions 2015-08-12 05:25:41 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg:Removing EFI_RESOURCE_ATTRIBUTE_TESTED 2015-08-18 16:08:22 +00:00
CorebootPayloadPkg CorebootPayloadPkgIa32: Don't specify X64 architecture 2015-07-27 06:43:29 +00:00
CryptoPkg CryptoPkg: Fix one wrong parameter for weak key checking 2015-09-02 08:44:46 +00:00
DuetPkg DuetPkg: exit pci function loops early if device is not multi-function 2015-10-06 20:55:36 +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 mention of ARMGCC 2015-08-12 05:25:19 +00:00
EmulatorPkg EmulatorPkg/build.sh: Use GCC49 toolchain with GCC 5.* 2015-10-08 05:51:57 +00:00
FatBinPkg FatBinPkg: Update EBC/IA32/X64/IPF binaries 2015-08-28 03:14:25 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg BdsDxe: Use PcdSet##S to replace PcdSet## 2015-10-15 00:57:45 +00:00
IntelFrameworkPkg IntelFrameworkPkg: Update DEC and DSC version from 0.94 to 0.96 2015-08-20 08:45:45 +00:00
IntelFspPkg Handle extra module patchable PCD variable in Linux map. 2015-09-06 22:36:43 +00:00
IntelFspWrapperPkg FspNotifyDxe need handle >4G memory. 2015-07-28 07:26:57 +00:00
MdeModulePkg MdeModulePkg VarCheckLib: R18611 was thoughtless for property set 2015-10-19 06:41:28 +00:00
MdePkg MdePkg/PeCoffLoader: fix handling of ARM MOVW/MOVT instruction relocs 2015-10-09 18:55:41 +00:00
NetworkPkg NetworkPkg: reset DHCP child when leaving PXE LoadFile. 2015-10-16 07:18:51 +00:00
Nt32Pkg Nt32Pkg: Fix PlatformBootManagerLib to respect PcdShellFile. 2015-09-16 08:04:35 +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: VirtioBlkDxe: reset device at ExitBootServices() 2015-10-16 19:52:24 +00:00
PcAtChipsetPkg PcAtChipsetPkg: IdeControllerDxe: fix protocol usage hints in the INF file 2015-09-22 11:18:36 +00:00
PerformancePkg PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle 2015-07-13 01:24:44 +00:00
SecurityPkg SecurityPkg : Fix Rsa2048Sha256GuidedSectionExtractLib issue 2015-10-19 02:53:22 +00:00
ShellBinPkg ShellBinPkg: Ia32/X64 Shell binary update. 2015-09-18 05:51:14 +00:00
ShellPkg ShellPkg: Fix ASCII input redirection does not work correctly. 2015-10-15 02:43:31 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg: Change revision to 4 to compress packet 2015-09-24 03:08:00 +00:00
StdLib StdLib: remove mention of ARMGCC 2015-08-12 05:25:12 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg: Add PiSmmCpuDxeSmm module no IA32/X64 files 2015-10-19 19:12:53 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Fixed C-State issue of CPU1 of dual core. 2015-09-01 01:22:49 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg FvbRuntimeDxe: Fix CalculateCheckSum16 input incorrect length 2015-09-30 04:39:34 +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 BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt edk2: Change BaseTools owner in Maintainers.txt 2015-09-14 05:52:36 +00:00
edksetup.bat BaseTools: Update edksetup.bat to support multiple workspaces 2015-10-08 09:29:09 +00:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00