forked from MrChromebox/edk2
-
Notifications
You must be signed in to change notification settings - Fork 3
Rebase on edk2-stable202505 #50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
crawfxrd
wants to merge
5,121
commits into
system76
Choose a base branch
from
rebase-stable202505
base: system76
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add and install a protocol notification handler for gEfiDxeMmReadyToLockProtocolGuid, in order to to trigger MMI handler to install gEfiMmReadyToLockProtocolGuid protocol in Mm. Signed-off-by: Crystal Lee <[email protected]>
The doxygen comment for VarCheckHiiLibReceiveHiiBinHandler says that EFI_INVALID_PARAMETER should be returned if either of CommBuffer or CommBufferSize is NULL, but the test results in an early return of EFI_SUCCESS. Update the code to match the documentation. Signed-off-by: Leif Lindholm <[email protected]>
Building VarCheckHiiLib fails on my clang 19.1.6 setup with the error variable 'Status' is used uninitialized whenever 'if' condition is false due to the DispatchHandle != NULL test. Calling this function with a NULL handle makes no sense, so move the test to the function entry and return failure if appropriate. Signed-off-by: Leif Lindholm <[email protected]>
UefiPayloadPkg is used by non-UEFI bootloaders, e.g. coreboot. Shuo works on Xeon-SP coreboot and will contribute to the reviewing activity for UefiPayloadPkg. Signed-off-by: Shuo Liu <[email protected]>
Add the SecTpmMeasurementLib to support TpmMeasurementAndLogData in Sec phase. Cc: Jiewen Yao <[email protected]> Signed-off-by: Min Xu <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Since TDVF has to measure FwCfg data from QEMU, it is required to cache the data with measurement in early phase. This can avoid changing the measurement order when reading the FwCfg process, which depends on multiple factors(depex, order in the firmware volume). Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Add QEMU_FW_CFG_CACHE_WORK_AREA in EFI_HOB_PLATFORM_INFO to support reading from cache in QemuFwCfgLib. Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
…tform Since the QEMU_FW_CFG_WORK_AREA is saved in EFI_HOB_PLATFORM_INFO and InitializePlatform would read by QemuFwCfg, TDVF should build the PlatformInfoHob before InitializePlatform. Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Since TDVF needs to cache and measure FwCfg, it is required to add an API to support cache with optional measurement and add some internal interfaces to support cache in QemuFwCfgLib. The new API is listed below: QemuFwCfgInitCache() The new Internal interfaces are listed below: InternalQemuFwCfgCacheReadBytes() InternalQemuFwCfgCacheSelectItem() InternalQemuFwCfgCacheGetWorkArea() InternalQemuFwCfgCacheResetWorkArea() InternalQemuFwCfgItemCached() InternalQemuFwCfgCacheReading() InternalQemuFwCfgInitCache() InternalQemuFwCfgCheckOvmfWorkArea() Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Min Xu <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
OVMF uses FW_CFG_SELECTOR(0x510) and FW_CFG_IO_DATA(0x511) to get configuration information from QEMU. From the security perspective these information shall be measured before they're consumed. This patch reads the FwCfg items and caches them in a GuidHob. In the meanwhile these FwCfg items are measured as well. This is to avoid changing the order when reading the FwCfg process, which depends on multiple factors(depex, order in the Firmware volume). Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Min Xu <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Move QemuFwCfgSupported and QemuFwCfgDmaSupported to the struct since they will be used as global variables in the DXE phase along with QEMU_FW_CFG_CACHE_WORK_AREA. Additionally, change its name to QEMU_FW_CFG_WORK_AREA. Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Since OVMF would initialize the platform info with FwCfg, TDVF needs to cache and measure the FwCfg at first. Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Min Xu <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Since OVMF would initialize the platform info with FwCfg, TDVF needs to cache and measure the FwCfg at first. Cc: Erdem Aktas <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Min Xu <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Elena Reshetova <[email protected]> Signed-off-by: Min Xu <[email protected]> Signed-off-by: Ceping Sun <[email protected]>
Add SweeAun as StandaloneMmPkg reviewer. Signed-off-by: Khor Swee Aun <[email protected]>
The structure for the SPCR revision 4 table was originally named EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE. This prefix suggests it is an ACPI 4.0 structure, which it is not. This could cause confusion with genuine ACPI 4.0 structures and defines (eg EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE, which is unrelated to SPCR revision 4). Rename the structure to EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_4. Signed-off-by: Sarah Walker <[email protected]>
There will be build failure because of EFI_AP_PROCEDURE definition not found if MpInformation2.h is included by base type library. MpInformation2.h depends on MpService.h because of EFI_PROCESSOR_INFORMATION definition, and then MpService.h depends on PiMultiPhase.h because of EFI_AP_PROCEDURE definition. This patch updates MpInformation2.h to include PiMultiPhase.h instead of PiPei.h and also removes SecPlatformInformation.h including. It also does minor refinement to file header description. Signed-off-by: Star Zeng <[email protected]>
Refactor the file to use the new type name EFI_MM_COMMUNICATE_HEADER. This is the same type but follows the new name and is more clear with upcoming Standalone MM support being added. Signed-off-by: Michael Kubacki <[email protected]>
Adds a new library instance to support MM core functionality for
performance in Standalone MM.
- Add StandaloneMmCorePerformanceLib instance
- Move common MM logic to a new file `MmCorePerformanceLib.c`
- Define interfaces with implementation specific to MM environment
type in `SmmCorePerformanceLibInternal.h` and implement those
functions in the Standalone MM and Traditional MM specific C files
Note: StandaloneMmCorePerformanceLib supports both
`MM_CORE_STANDALONE` and `MM_STANDALONE` as some Standalone MM
environments have privilege separation and need to link this
functionality in a ring 3 Standalone MM driver that is outside
the ring 0 Standalone MM core driver.
Signed-off-by: Michael Kubacki <[email protected]>
Adds a new library instance to support logging performance data in Standalone MM. - Add StandaloneMmPerformanceLib instance - Move common MM logic to a new file `SmmPerformanceLibInternal.c` - Since the library largely defers most logic to the performance measurement protocol a large degree of code can be shared between Standalone MM and Traditional MM. Signed-off-by: Michael Kubacki <[email protected]>
In case of the FV with VTF, the left size should be enough to add the minimum pad file size (EFI_FFS_FILE_HEADER, 0x18). It prevents the build error, "GenFv: ERROR 0006: invalid FFS file header checksum" caused by the pad file overwriting some header data in VTF. This includes these updates for CalculateFvSize() function. 1. If NumBlocks is not defined, ensure the minimum pad file size for the left size (if the pad file is required as VTF is not bottom aligned at end of block, insert EFI_FFS_FILE_HEADER to ensure the pad file size) 2. If NumBlocks is defined, report more clear error message (the required fv image size = 0x%x. the set fv image size = 0x%x. Free space left is not enough to add a pad file (0x18)) 3. Remove MaxPadFileSize, which is reported when the taken size is same as the total size. It can not be the actual left size to add an FFS file. It causes confusion when referring to the build log (FV Space Information) Signed-off-by: Phil Noh <[email protected]>
Module PCD in compile information is missed in module_report.json Signed-off-by: Zhiguang Liu <[email protected]>
The values of BootRecordDataPayloadSize and CommSize are incorrect. BootRecordDataPayloadSize should equal to SmmBootRecordDataSize - SmmBootRecordDataRetrieved CommSize should equal to OFFSET_OF (EFI_MM_COMMUNICATE_HEADER,Data) \ + (UINTN)MmCommBufferHeader->MessageLength SmmCommData->BootRecordSize should be set to BootRecordDataPayloadSize, instead of the total size of entire Smm boot record data. Signed-off-by: Wei6 Xu <[email protected]>
- FMMT tool would use the "PATH" environment variable for locating the required GUID tool. - On Windows-like system, batch file not found in the "PATH" environment variable when "shell=False". - This issue required commands to include program extensions or absolute paths. - This patch sets "shell=True" to extend the support for batch files, including scripts in BinWrappers under BaseTools. - Converted input commands from lists to strings to ensure proper argument interpretation in POSIX-like shell scripts. Signed-off-by: Jason1 Lin <[email protected]>
PcdStatusCodeUseSerial can be the dynamic PCD, which can't be used in MM drivers. So, defines gMmStatusCodeUseSerialHobGuid HOB to indicate StatusCode is reported via serial port or not. The value shall match with the PcdStatusCodeUseSerial. Signed-off-by: Jiaxin Wu <[email protected]>
Produce gMmStatusCodeUseSerialHobGuid as MM Foundation HOB to describe the status code use serial port or not. Signed-off-by: Jiaxin Wu <[email protected]>
…n MM This patch is to replace dynamic PcdStatusCodeUseSerial by the gMmStatusCodeUseSerialHobGuid. Signed-off-by: Jiaxin Wu <[email protected]>
Correct the GCC GenFw and ld flag to build PRM run time modules. These changes are made for X64 GCC compiler, current present for AARCH64 only. Adds addition _X64_OBJCOPY_STRIPFLAG for X64 to retain required symbol during objcopy. Signed-off-by: Abdul Lateef Attar <[email protected]>
Use AsciiStrLen function instead of AsciiStrSize to determine the length of Basic Auth string. Signed-off-by: Abner Chang <[email protected]>
Hot Pluggable resource attribute was introduced in UEFI 2.11 and PI 1.9 specifications. This type should have an entry in the Attribute Conversion Table. Signed-off-by: Sachin Ganesh <[email protected]>
AArch64 has no SVC mode, this was clearly copied from the AArch32 version, so drop it. Signed-off-by: Leif Lindholm <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Add a stripped down version of MdeModulePkg/BootLogoLib. - Only supports a single logo - Always places logo at 38.2% from top of screen - Removes support for UGA - Removes support for original BootLogo protocol Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
72a6ee8 to
684e99e
Compare
|
Boot works on darp10 with release build and qemu with debug build. |
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
USB devices are not being detected when booting. Pause a bit for them to be initialized and detected by EfiBootManagerConnectAll(). Signed-off-by: Tim Crawford <[email protected]>
Make use of the SMFI command interface to forward logs from edk2 to System76 EC. Signed-off-by: Jeremy Soller <[email protected]> Signed-off-by: Tim Crawford <[email protected]>
Disable the edk2 GOP driver when GOP and policy drivers are enabled. Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Import main firmware app and related libraries from MdeModulePkg for customizing. Signed-off-by: Tim Crawford <[email protected]>
684e99e to
e8a1631
Compare
Co-authored-by: Jeremy Soller <[email protected]> Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
- Remove "UEFI" prefix from device descriptions - Remove serial numbers from device descriptions Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
Signed-off-by: Tim Crawford <[email protected]>
…g boot options Signed-off-by: Jeremy Soller <[email protected]> Signed-off-by: Tim Crawford <[email protected]>
Add EXT2/EXT4, exFAT, NTFS filesystem drivers. Do not add ISO9115 drivers as it breaks El Torito boot. Sourced from: https://github.com/pbatard/EfiFs/releases/tag/v1.10 https://github.com/pbatard/ntfs-3g/releases/tag/1.7 Signed-off-by: Matt DeVillier <[email protected]> Change-Id: I2e4d67cd8251ef3ec8a122a3ea0081aca6cfc455
Signed-off-by: Patrick Rudolph <[email protected]>
Shoehorn in logic from Device Manager to show only the Secure Boot Config entry on the front page. Signed-off-by: Tim Crawford <[email protected]>
a25a11c to
345ebdf
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update from edk2-stable202108 to edk2-stable202505.
Resolves: #45
Notes
If testing from an existing checkout of edk2, or otherwise swapping between
system76/system76-stable202108andrebase-stable202508then you have to do something like:TODO