Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move Submodules to release/202405 (#1011)
## Description The Project Mu submodules have moved to release/202405 and as the final step in qualifying that, we move mu_tiano_platforms to the new submodules. Below is the list of major changes for this repo to accommodate the new submodules: SBSA Dropping ArmVirtPkg Dependency -- QemuSbsaPkg was dependent on ArmVirtPkg for two libraries and a set of device tree PCDs. These device tree PCDs were moved to OvmfPkg in edk2, which we do not carry in Project Mu. In general, ArmVirtPkg allows dependencies on OvmfPkg, which makes it not a good candidate for Project Mu to depend on. The PCDs were moved to QemuSbsaPkg, QemuVirtMemInfoLib was copied there, and the HobLib was pointed to the mu_basecore version, as the ArmVirtPkg version was not needed, thus breaking the dependency on ArmVirtPkg. Some other ArmVirtPkg unused PCDs were dropped entirely. MM_SUPV Updates -- There were a lot of MM_SUPV updates in release/202405, which led to needing to copy an instance of SmmRelocationLib from OvmfPkg to QemuQ35Pkg. There was debt from previous integrations where changes from MmFeatureLib were not picked up, which were required to work with the new supervisor. SourceLevelDebugPkg Dropped -- Project Mu no longer carries SourceLevelDebugPkg, so all references and hooks were dropped from the repo. Non-NX Compat Images Allowed to be Loaded -- Previously, on Windows built FW's, we would block loading non-NX compat binaries. This prevents booting most modern Linuxes as shim/grub do not have the NX_COMPAT flag set for released versions. This was changed to not block loading non-NX Compat images so that Linux can boot on Q35/SBSA on Windows. SBSA Qemu run without SME and SVE -- Similar to requiring SSE support on Q35, Windows and Linux have started using SVE instructions on ARM64. However, TF-A in the SP_MM configuration does not support SME or SVE instructions, so TF-A would crash when one of those instructions occurred. Qemu is now configured to run without support for SME and SVE so that the OSes do not attempt to use them. It was also discovered that Qemu 9.0.2 or newer is required for booting an OS on SBSA now, it is not clear what changed. Cleanups and Old References Dropped -- - As part of debugging some of the changes needed for release/202405, some DSC cleanups were made. - MemoryOverrideBinLib was not carried forward to release/202405, so it was dropped from DSCs. - AdvLoggerAccessLibNull is used for VariableStandaloneMmLib.inf in QemuSbsaPkg now instead of the actual instance, as we are not using AdvLogger there. For each item, place an "x" in between `[` and `]` if true. Example: `[x]`. _(you can also check items in the GitHub UI)_ - [x] Impacts functionality? - **Functionality** - Does the change ultimately impact how firmware functions? - Examples: Add a new library, publish a new PPI, update an algorithm, ... - [x] Impacts security? - **Security** - Does the change have a direct security impact on an application, flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ... - [x] Breaking change? - **Breaking change** - Will anyone consuming this change experience a break in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ... - [ ] Includes tests? - **Tests** - Does the change include any explicit test code? - Examples: Unit tests, integration tests, robot tests, ... - [ ] Includes documentation? - **Documentation** - Does the change contain explicit documentation additions outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ... ## How This Was Tested Booted Q35 and SBSA to Windows and Linux ## Integration Instructions Qemu 9.0.2 is required for Linux builds to boot into an OS now, it is unclear exactly what is broken with older versions. --------- Co-authored-by: Kun Qin <kuqin@microsoft.com>
- Loading branch information