Releases: tianocore/edk2
edk2-stable202011
Release Date 2020-11-27
New Features
- ShellPkg: add HttpDynamicCommand
- OvmfPkg, ArmVirtPkg: enable HttpDynamicCommand
- CryptoPkg/BaseCryptLib: fix NULL dereference (CVE-2019-14584)
- Security fix: possible heap corruption with LzmaUefiDecompressGetInfo
- Security fix: unlimited FV recursion, round 2 (DXE Core)
- Remove DEPRECATED code wrapped by new macro DISABLE_NEW_DEPRECATED_INTERFACES
- MdePkg: Add definitions for HTTP Chunked Transfer
- Add SMBIOS 3.4.0 DDR5 Support
- UefiCpuPkg: MpServices2Ppi and MpServicesPpi compatibility support.
- Add RngLib instead of TimerLib for OpensslLib
- SecurityPkg/DxeImageVerificationLib: Disable SHA1 base on MACRO
- Remove the deprecated MD5 and SHA1 support of Hash2DxeCrypto
- Adopt VariablePolicy, Deprecate VarLock and VarCheckPolicy.
- BaseCryptLib: Add Host and Shell based unit tests
- Implementation of UEFI EFI_REST_JSON_STRUCTURE_PROTOCOL
- Implementation of UEFI Redfish Host Interface Dxe
- Add SATA port error recovery when operating in AHCI mode
- Restart failed ATA packets when operating in AHCI mode
- Extend usage of LastAttemptStatus in FmpDxe
- Add firmware support for Kvmtool
- EmulatorPkg: Add CI build for SECURE_BOOT_ENABLE
- BaseTools: Add EDKII_DSC_PLATFORM_GUID MACRO
- BaseTools: Enable Module Scope Structure Pcd
- BaseTools: Incremental build enhancement
Bugzilla List
Wiki
Update Notes
- DEPRECATED functions are removed. New secure version functions are required to be used.
- RngLib library instance is required to be specified in [LibraryClasses] section of Platform.dsc file.
- VariablePolicyLib and VariablePolicyHelperLib library instances are requried to be specified in [LibraryClasses] section of Platform.dsc file. The detail changes can refer to platform porting wiki.
edk2-stable202008
Release Date 2020-09-04
New Features
- BootGuard TOCTOU vulnerability (CVE-2019-11098)
- Provide MACROs to disable SHA1 support
- Update openssl version to latest stable version 1.1.1g
- TPM Add capability to let PEIM extend TcgEvent
- TPM Bios to verify TPM2_ChangeEPS Support through TPM Capabilities command request and enable it if available
- Add FSP binary measurement
- CXL 1.1 Base Specification Register definitions
- BaseTools: Add support on C files to consume ASL files
- Enable BSD-2-Clause-Patent license checker for new added files in open CI
- Enable ECC (EFI Code Checker) checker in open CI
- Add UNIT_TESTING_DEBUG define to enable source level debugging of host based unit tests
- Add new instance of BaseLib that for host based unit tests called UnitTestHostBaseLib
- Add a pre-memory AP vector at 0xFF000
- IntelFsp2Pkg: Add FSP*_ARCH_UPD
- Dynamic AML: A solution to simplify runtime generation of Definition Block tables
- Add support to OVMF for AMD SEV-ES
- Add bhyve hypervisor support to EDK2
- Add LSI 53C895A SCSI controller support to OVMF
Bugzilla List
Wiki
Update Notes
-
Add the below library instances into [LibraryClasses.common.PEIM] section of platform dsc If this platforms depend on Intel FSP
FspMeasurementLib|IntelFsp2WrapperPkg/Library/BaseFspMeasurementLib/BaseFspMeasurementLib.inf
TcgEventLogRecordLib|SecurityPkg/Library/TcgEventLogRecordLib/TcgEventLogRecordLib.inf
TpmMeasurementLib|SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.inf -
The SEV-ES feature adds new library dependencies. If your DSC file uses the UefiCpuPkg CpuExceptionHandlerLib library or the UefiCpuPkg MpInitLib library, then you must add an entry for the UefiCpuPkg VmgExitLib library (VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf).
edk2-stable202005
Release Date 2020-06-03
New Features
- RegularExpressionDxe: Use submodule way to access third party Oniguruma
- BrotliCustomDecompressLib: Use submodule way to access third party brotli
- BaseTools: Use submodule way to access third party brotli
- RISC-V architecture on EDK2
- Disabling safe string constraint assertions
- ArmVirtPkg Implement support for TPM2 measured boot
- OVMF Implement support for Linux v5.7+ initrd and mixed mode loading
- OVMF Use loadimage/startimage for loading the kernel passed via the QEMU command line
- OVMF Support booting from Fusion-MPT SCSI controllers
- OVMF Support booting from VMware PVSCSI controllers
- OVMF RFE: VCPU hotplug with SMM
- OVMF PEI phase variable driver / MemoryTypeInfo tracking
- ArmVirtPkg, OvmfPkg: Pass parameter from QEMU to control PXE IPv4/v6 boot
- FmpDxe: Implement Fmp Capsule Dependency feature in library
- Remove deprecate APIs in BaseCryptLib
- IntelFsp2Pkg: Support Multi-Phase silicon initialization and debug handlers
- Enable Host Unit Tests for Linux in Core CI
- Add Open CI build test for Ovmf and Emulator
- Add UEFI 2.8/2.8a definition in MdePkg
- Add PI1.7/PI1.7a definition into MdePkg
Bugzilla List
Update Notes
- The brotli source code is accessed through submodule way. So anybody updates to the latest edk2 should type ‘git submodule update –init’ to checkout submodule brotli.
- BaseCryptoLib MD4, ARC4, TDES, AES ECB MODE, HMAC MD5, HMAC SHA1 API have been deprecated. The consumer that use above functions should remove the related code and return unsupported status.
- SecurityPkg Tcg2PhysicalPresenceLib library class removes two macros
TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT and TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT. The consumer code should use gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags to get the default flags.
edk2-stable202002
Release Date 2020-03-04
New Features
- Basetool: Reuse compiler show-include feature for the incremental build quality and performance
- BaseTools GenerateCapsule: Support capsule dependency
- FmpDxe: Support capsule dependency
- New BaseCryptLib instances to compile independently from callers
- Add TCG PFP revision 105 support and NIST SP800-155 event
- MpInitLib: Build information for loaded and detected microcode patches
- Add platform microcode shadow PPI to UefiCpuPkg
- BaseCryptLib: Remove HmacXxxGetContextSize and replace HmacXxxInit with HmacXxxSetKey
- Enable Unified API for UEFI drivers utilizing HASH/RSA Authentication Mechanism
- Add Unit Test Framework to edk2 repository
Bugzilla List
Wiki
edk2-stable201911
Release Date 2019-12-02
New Features
- Add new tool chain for LLVM/CLANG9.0
- BaseTools: Enable --genfds-multi-thread by default build
- Add STATIC_ASSERT macro
- Add VS2019 Toolchain def
- Upgrade Openssl to 1.1.1d due to CVEs in v1.1.1b
- UEFI Variable SMI Reduction
- ScsiDiskDxe Support the Storage Security Command Protocol
- Add support SMBIOS spec 3.3.0
- Allow PCDs to be used in conditional statements if not referenced in an INF
- Add Support Laml and Lasa for TPM2 ACPI
- Add PCI Device Security Support
- Invalid server certificate accepted in HTTPS Boot (CVE-2019-14553)
- MdeModulePkg: Enable/Disable S3BootScript dynamically
- Enable Phase 1 of Continuous Integration (CI) on the edk2 repository
Bugzilla List
Wiki
edk2-stable201908 tag
Release Date 2019-08-30 (UTC - 8 00:00)
New Features
- Remove IntelFrameworkPkg
- Remove IntelFrameworkModulePkg
- Standardize EDK II PI root-of-trust verification implementation
- Remove IntelFsp[Wrapper]Pkg
- Move IntelSiliconPkg from edk2 repo to edk2-platforms repo
- Remove framework modules within PcAtChipsetPkg
- [NvmExpressPei] Update the driver to produce NVM Express PassThru PPI
- Enable new MM MP Protocol
- Change PiSmmCpu driver to enable 5-level paging when CPU supports it
- Support Capsule On Disk
- BaseTools Enable multiple-thread autogen
- Enable 5-level paging in DXE long mode
- Update FmpDxe to support service drivers that manage more than one device at a time
- RegularExpressionDxe: Update Oniguruma to the latest Release 6.9.3 (security fix release)
- Add EDKII_UFS_HC_PLATFORM_PROTOCOL to support platform specific programming of UFS host controllers
- Enable SM3 digest algorithm for measured boot and TCG2 EVENT protocol
- Add a new MODULE_TYPE HOST_APPLICATION in BaseTool
- Add support for KDF function
- [SD/MMC] Allow platform to tweak device working parameters during SD card/eMMC initialization
- port TLS_ENABLE from OvmfPkg to ArmVirtPkg
- IntelFsp2Pkg: add TempRamExitPpi.h per FSP 2.1 spec
- IntelFsp2Pkg: Add support for FSP 1.x binaries to SplitFspBin.py
- New OvmfXen platform with Xen PVH support
- Tool to generate a Windows Firmware Update Drivers
- BaseTools/Scripts: Add GetUtcDateTime script
- Adding a new TSC library by using CPUID(0x15) TSC leaf
- Build Cache very easily miss because of monolithic platform hash
Bugzilla List
Wiki
Update Notes
-
Update code to use
CPU_FEATURE_THREE_STRIKE_COUNTER
instead ofCPU_FEATURE_THREE_STRICK_COUNTER
from RegisterCpuFeaturesLib.h as BZ1642 fixed the typo. -
Removed IntelFrameworkPkg and IntelFrameworkModulePkg. If platforms still use the components in those packages please use the below substitutions:
IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
==>
MdePkg/Library/BaseUefiDecompressLib/BaseUefiTianoCustomDecompressLib.inf
IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
==>
MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
==>
MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
==>
Switch to the MdeModulePkg BDS MdeModulePkg/Universal/BdsDxe/BdsDxe.inf and drop the above library
- Removed several legacy framework modules in PcAtChipsetPkg. Platforms can use the below substitutions:
PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
==>
PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
(Please note that platform/silicon codes may still need to mask 8259 interrupts to avoid unexpected interrupts being triggered.)
PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
==>
Platform specific Super IO bus driver
(An example for OVMF platform can be referred at OvmfPkg/SioBusDxe/SioBusDxe.inf)
-
Removed --nt32 option for edksetup.bat since Nt32Pkg has been removed.
AddedVS2017 VS2015 VS2013 VS2012
tool chain options for edksetup.bat to set up different VS environment.
For example: when your dev machine has installed VS2017 and VS2015, calledksetup.bat VS2015
can set VS2015 build env.
Calledksetup.bat
without any tool chain option, the highest version of VS tool env will be set. -
PiSmmCpuDxeSmm was updated to create 5-level page table for SMM environment when CPU is capable. If the platform uses platform-specific SmmCpuFeatureLib and the library provides custom SMI handler, the SMI handler assembly code needs to be updated to set BIT12 in CR4 before entering to 64bit mode.
edk2-stable201905 tag
Release Date 2019-06-06 (UTC - 8 01:00)
New Features
- Update OpenSSL version to upcoming 1.1.1
- Delete EdkCompatibilityPkg from edk2/master
- Remove .S assembly code for IA32 and X64 arch
- Replace BSD 2-Clause License with BSD + Patent Licence
- Recovery PEI BlockIO support for ATA device
- Add PCD to Enabled/Disabled IPv4/IPv6 PXE Support in NetworkPkg
- Remove NetworkPkg/IpSecDxe
- Add api to DebubLib to expose a print routine with VaList parameter
- Introduce DebugPpi to save the image size with the debug message
- ResetSystemLib Adds a new API ResetSystem
- ResetUtilityLib Add a new API ResetSystemWithSubtype
- Add support for get organization name to x509 in BaseCryptLib
- Add support for checking x509 EKUs in BaseCryptLib
- Add support for PKCS 1v2 RSAES-OAEP PKI encryption in BaseCryptLib
- Remove ShellBinPkg from edk2/master
- Enable multiple thread /MP option for MSVC compiler
- Upstream the EnrollDefaultKeys application to OvmfPkg
- Share code for BaseUefiDecompressLib in MdePkg and MdeModulePkg
- Move network related components from MdeModulePkg to NetworkPkg
- Move BeagleBoardPkg and Omap35xxPkg from edk2 to edk2-platforms repo
- Move MinnowMax and Quark platform to edk2-platforms repo
- Move OptionRomPkg into new Drivers directory edk2-platforms repo
- Add ACPI6.3 definition
- Remove Nt32Pkg from edk2/master
- update ArmSoftFloatLib to latest upstream version (= 3e)
Bugzilla List
Update Notes
- PEIM DebugServicePei and library instance PeiDebugLibDebugPpi are added to save the PEIM Debug Image size. This can be enabled in platform DSC/FDF. Platform DSC is changed to include DebugServicePei and update DebugLib library instance.
[LibraryClasses.Common.PEIM]
DebugLib|MdeModulePkg/Library/PeiDebugLibDebugPpi/PeiDebugLibDebugPpi.inf
[Components]
MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf {
<LibraryClasses>
DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
}
Platform FDF also needs to be changed to include DebugServicePei and place it into apriori list.
[FV.PEIFV]
APRIORI PEI {
INF MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf
}
INF MdeModulePkg/Universal/DebugServicePei/DebugServicePei.inf
- ShellBinPkg has been removed. Shell binaries can be download from the Assets section in edk2-stable201905 release page. Platform can also use ShellPkg directly, and update platform dsc/fdf file as below.
Add shell application in platform fdf file:
INF ShellPkg/Application/Shell/Shell.inf
Add shell application in platform dsc file:
ShellPkg/Application/Shell/Shell.inf {
<PcdsFixedAtBuild>
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
<LibraryClasses>
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
}
Note: If platform doesn’t have shell boot option after updating to use ShellPkg, please check platform code logic of registering shell boot option, make sure it use the correct UEFI Shell file GUID as below.
Shell file GUID: { 0x7C04A583, 0x9E3E, 0x4f1c, {0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1} }.
- Remove IpSec driver and IpSecConfig application from NetworkPkg. Platform DSC/FDF should remove them.
NetworkPkg/Application/IpsecConfig/IpSecConfig.inf
NetworkPkg/IpSecDxe/IpSecDxe.inf
- UefiDecompressLib instance
IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib
has been merged intoMdePkg/Library/BaseUefiDecompressLib
. If platform still use the one in IntelFrameworkModulePkg, please update it to use the one in MdePkg.
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
==>
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-
Removed EDK Compatibility support. If platform still use the
PcdFrameworkCompatibilitySupport
or framework VFR, please remove or update the related code logic or source file. -
Network Module and Libraries are moved from MdeModulePkg to NetworkPkg. The platform DSC/FDF needs to include Network segment files to enable Network features instead of including the group of network modules. Those segment files are included into the different sections in DSC/FDF as below. If the module consumes Network library class, its INF needs to make sure
NetworkPkg\NetworkPkg.dec
in[Packages]
section.
Platform.dsc:
[Defines]
!include NetworkPkg/NetworkDefines.dsc.inc
[PcdsFixedAtBuild]
!include NetworkPkg/NetworkPcds.dsc.inc
[LibraryClasses]
!include NetworkPkg/NetworkLibs.dsc.inc
[Components]
!include NetworkPkg/NetworkComponents.dsc.inc
Platform.fdf:
[FV.DXEFV]
...
!include NetworkPkg/Network.fdf.inc
-
Openssl has been updated to new 1.1.1b version. Compared to previous version, new version openssl increases the image size for the driver that consumes CryptoLib. Platform FDF file may reserve more space in FV image to contain them.
-
NT32 has been removed. EmulatorPkg can be used to run in Windows or Linux OS.
edk2-stable201903 tag
Release Date 2019-03-08 (UTC - 8 12PM)
New Features
- Python 3 migration
- BaseTool Suggestions for improving building performance
- Delete IPv4 only TCP/iSCSI/PXE drivers in MdeModulePkg
- Remove EdkShellPkg from edk2/master
- Remove EdkShellBinPkg from edk2/master
- BaseTools: Support Array and C code style initialization in Structure PCD
- Merge EmuVariable and Real variable driver
- Remove DuetPkg
- Upgrade OpenSSL to 1.1.0j
- Split the S3 phase device initialization codes from the OpalPassword PEI driver
- Remove PcdPeiCoreMaxXXX PCDs
- Remove unused tool logic in BaseTools C\Python
- BaseTools: Enable component override functionality
- Support PI1.7 EFI_PEI_CORE_FV_LOCATION_PPI
- Remove unused tool chain configuration in tools_def.template
- Add Security feature set support for ATA devices
- SMM CET support
- Add Wi-Fi Connection Manager to NetworkPkg
- Standalone MM build of authenticated variable stack
Bugzilla List
Wiki
Update Notes
- Use ShellPkg in Platform DSC/FDF to replace EdkShellBinPkg, because EdkShellBinPkg is removed.
- Remove the using of PcdPeiCoreMaxFvSupported, PcdPeiCoreMaxPeimPerFv and PcdPeiCoreMaxPpiSupported
in platform code as they have been removed for BZ1405. - Remove the using of EmuVariableRuntimeDxe and use the merged Variable driver instead like below as
EmuVariableRuntimeDxe has been removed for BZ1323.
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
<PcdsFixedAtBuild>
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE
<LibraryClasses>
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
}
- Remove the TCP/iSCSI/PXE drivers in MdeModulePkg for BZ1278. Below components in NetworkPkg should be used to support both IPv4 and IPv6.
[Components]
NetworkPkg/TcpDxe/TcpDxe.inf
NetworkPkg/IScsiDxe/IScsiDxe.inf
NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
- New working model BZ1409
has been adopted for the ATA and NVM Express OPAL devices S3 auto-unlock feature.
The S3 phase hardware (ATA and NVM Express) initialization codes have been removed
from the OpalPassword drivers. The OpalPasswordPei PEIM now will consume the
Storage Security Command (SSC) PPI instances to unlock OPAL devices in S3. For
the new working model, the following PEIMs:
MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf
MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
should be included by platforms so that SSC PPI instances will be produced for
ATA and NVM Express devices respectively. Platforms also need to provide Host
Controller PEIMs for ATA and NVM Express controllers. These PEIMs should respectively
produce EDKII_ATA_AHCI_HOST_CONTROLLER_PPI and EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI
in order to support the new working scheme. Lastly, please note that the PEIMs
involved here will be executed during S3 resume. As a result, they may not be
compressed, so there will be an impact to the image size.
- Unused tool chain VS2003/VS2015, GCC44/GCC45/GCC46/GCC47, ELFGCC/UNIXGCC/CYGGCC, DDK3790, MYTOOLS
are removed. Please use the latest VS2015 or GCC5 as the default tool chain. - In case that a C function body contains the string of L'', L'\"', L"\"", L''' or L""", ECC tool running under python3 interpreter will report error with code 5005. Please ignore it for this error is false reported. For example, in ShellPkg\Application\Shell\Shell.c, line 212 contains L"\"".
FirstQuote = FindNextInstance (CmdLine, L"\"", TRUE)
That line will cause ECC tool under python3 report error “The close brace should be at the very beginning of a line for the function [ContainsSplit].”, this error is a false report. ECC tool under python2 interpreter has no such issue. - MdeModulePkg FaultTolerantWriteSmm consumes new library class MmServicesTableLib. Platform DSC file need to specify MmServicesTableLib library instance in LibraryClasses section. Below is one example.
[LibraryClasses.common.DXE_SMM_DRIVER]
...
MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
edk2-stable201811 tag
Release Date 2018-11-15
New Features
- SMBIOS 3.2.0 support
- New APIs in UefiLib to locate ACPI table by signature
- 32bit subnet mask support for IP4 PXE
- TFTP windowsize option support (RFC7440)
- Non-stop mode for Heap Guard and Null Pointer Detection
- PEI Stack Guard
- Support MSRs define in SDM 2018-05
- Add Use-After-Free heap detection in DXE core
- Remove FatBinPkg from edk2/master
- Add support for Pyrite 2.0 to Opal BIOS Password management
- Add support for TCG PTP Spec Revision 1.03
- Improvement capsule feature support
- Add PCI NVMe PEI BlockIO support
- Performance measurement with new macros and control functionality
- Optimize CPU feature initialization and microcode loading performance
- Add SHA384/512 support in TPM2 device driver
- Support SpinUp and DevSlp functionality in AtaAtapiPassThru
- Support PUIS enabling/disabling in AtaAtapiPassThru
- Expose interface to enable or disable signaling SERR from xHCI
- Support short-form USB device path in ConPlatform.
- Remove all IPF only modules from edk2/master
- DSC/FDF Support for a !error Conditional Directive
- Display Integers in the Build Report in Hexadecimal Format
- Add BuildOptionPcd support to GenCfgOpt.py
Bugzilla List
Wiki
Update Notes
- Core driver(
BootGraphicsResourceTableDxe)/library(DxeCapsuleLibFmp
) are updated
to consumeBmpSupportLib/SafeIntLib/DisplayUpdateProgressLib
. Below library
instances are required to be added into platform DSC[LibraryClasses]
section.
BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibText/XXXXXX.inf
- According to the Intelligent Platform Management Interface Specification Second
Generation v2.0 Document Revision 1.1 (October 1, 2013), a couple of definitions
get updated within below IPMI header files. 'union' types are used in structure
definitions that have bitmap fields. This will provide the users with both bit-level
and byte/word-level accesses to those structures.
MdePkg\Include\IndustryStandard\IpmiNetFnApp.h
MdePkg\Include\IndustryStandard\IpmiNetFnChassis.h
MdePkg\Include\IndustryStandard\IpmiNetFnStorage.h
MdePkg\Include\IndustryStandard\IpmiNetFnTransport.h
-
UefiCpuPkg MpInitLib improved the performance by shadowing microcode to memory
before doing microcode update. The enhancement may cause S3 resume failure because
the shadow uses lots of S3 resume memory if the microcode file is large and the S3 resume
memory is small. Platform needs to increase the S3 resume memory size in this case. -
Core driver(
SystemFirmwareUpdateDxe
) is updated to consume new interface
PerformFlashWriteWithProgress() of PlatformFlashAccessLib
. Platform's
PlatformFlashAccessLib library instance is required to be updated to implement
the new interfacePerformFlashWriteWithProgress()
. -
Remove DxeSmmPerformanceLib from platform DSC, because it has been removed.
-
Use FatPkg in Platform DSC/FDF to replace FatBinPkg, because FatBinPkg is removed.
-
BaseTools adds the checker of the guid format defined in Package.dec file.
It requires (<CName> = <GuidValueInCFormat:{8,4,4,{2,2,2,2,2,2,2,2}}>
).
Otherwise, BaseTools reports the error for the invalid GUID format. -
BaseTools adds the check for VOID* PCD max size. Max size is UINT16.
-
BaseTools adds the checker that the datum type of a FeatureFlag PCD must be BOOLEAN.
-
BaseTools drops the support to freeze python tools as the windows executable files.
BaseTools only supports python tools run from source in Windows OS. -
If
PcdMaxPeiPerformanceLogEntries16
is configured in DSC file to set the maximum number of performance log entries during PEI phase, its value suggests to be less than 880. If its value is bigger, such as 1000, it will cause PEI performance HOB data exceed HOB size limit. -
UefiCpuPkg MpInitLib is enhanced to forbidden AP calls PEI services (following PI spec). Exception or hang may occur when AP procedure contains code to use PEI services.
-
PlatformBootManagerLib
adds a new API calledPlatformBootManagerUnableToBoot()
. BdsDxe driver calls this new API when unable to boot.PlatformBootManagerLib
library instance needs to implement this API to avoid build failure.OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
contains an implementation to pop up UI;EmulatorPkg/Library/PlatformBmLib/PlatformBm.c
contains an implementation to do nothing.
edk2-stable201808: MdePkg Cper.h: Add generic error macros for ARM platform
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ming Huang <[email protected]>