v6.0.0
What's Changed
-
Add HTTP and acpiview commands to UEFI shell @kuqin12 (#902)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
Current QEMU platforms do not support needed cmdlets for system status inspection.
This change added a few command options to the UEFI shell to further support necessary tests in the future.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
This was tested on QEMU Q35 and SBSA in UEFI shell environments.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Fix console after returning from QEMU @kuqin12 (#900)
Change Details
# Preface
Please ensure you have read the contribution docs prior
to submitting the pull request. In particular,
pull request guidelines.Description
The fix is enlightened by the original QEMU thread here: https://gitlab.com/qemu-project/qemu/-/issues/1674.
The change fixed the garbled command prompt after returning from QEMU v8+ on Windows platforms.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
This was tested on QEMU v9.0.0-rc1 on Windows and confirmed it fixes the command prompt after returning from QEMU runner.
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Remove UEFI Ext as it has moved to mu\_feature\_debugger @cfernald (#894)
Change Details
## Description
the UEFI windbg Extension has moved to https://github.com/microsoft/mu_feature_debugger.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
-
Create Memory Allocation HOB Entry for QEMU FDT Blob @TaylorBeebe (#876)
Change Details
## Description
The flattened device tree blob is placed in memory at the address specified by PcdDeviceTreeInitialBaseAddress. This PR creates a memory allocation HOB entry for the pages spanning the start and end of the FDT so it cannot be allocated during boot.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Tested by running SBSA and reviewing the memory allocation HOBs
Integration Instructions
N/A
</blockquote> <hr> </details>
- Impacts functionality?
-
Update Virtual Drive Manager File Collection and mu\_plus Subrepo @TaylorBeebe (#886)
Change Details
## Description
The PDE.dat file is no longer produced by the paging audit, so the get_file call will fail.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Tested by running the paging audit on Q35 and SBSA
Integration Instructions
N/A
- Impacts functionality?
-
Add SSE4.1 Instructions to Q35 @os-d (#882)
Change Details
## Description
Windows requires both the SSE4.1 and SSE4.2 instructions to boot. Add these to the Q35 QEMU cmdline so that the VM has these available.
For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Booted a recent Windows edition, confirmed it does not boot without this and does boot with this.
Integration Instructions
Ensure this commit is pulled in to boot recent versions of Windows.
</blockquote> <hr> </details>
- Impacts functionality?
-
Use latest qemu extdep @Javagedes (#881)
Change Details
## Description
Update the qemu extdep to the latest mu_tiano_platforms release. This downgrades qemu to a more reliable version - 7.2.0 and also adds the following two roms:
-
efi-e1000e.rom
-
efi-virtio.rom
-
Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
-
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, ...
- Security - Does the change have a direct security impact on an application,
-
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, ...
- Breaking change - Will anyone consuming this change experience a break
-
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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
see #880
Integration Instructions
N/A
</blockquote> <hr> </details>
-
⚠️ Breaking Changes
-
Update MU\_BASECORE and MM\_SUPV to resolve override hash mismatch @kuqin12 (#896)
Change Details
## Description
The MU_BASECORE update changed the hash used in MmSupervisorPkg. This change updated both submodules to fix the auto-PRs build break.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Q35 platform is tested with QEMU 9.0.0-rc1 on Windows and booted to UEFI shell.
Integration Instructions
N/A
- Impacts functionality?
🔐 Security Impacting
-
Move Standalone MM and some PEIM modules to use dynamic stack cookie library @kuqin12 (#905)
Change Details
## Description
Current platform configuration sets up the stack cookie library for all Standalone MM modules to use static stack cookie, which is unnecessary as long as the RNG works as expected.
Similarly, on ARM64 platform, the PEIM modules can use dynamic stack cookie as well. The Q35 PEIMs are left as they are considering XIP scenarios on x86.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
This change is tested on QEMU Q35 and SBSA platforms and confirmed booting to UEFI shell.
Integration Instructions
N/A
- Impacts functionality?
🛠️ Submodule Updates
-
Bump MU\_BASECORE from 2023110003.1.2 to 2023110003.1.3 @ProjectMuBot (#906)
Change Details
Bumps MU_BASECORE from `2023110003.1.2` to `2023110003.1.3`
Introduces 1 new commits in MU_BASECORE.
Signed-off-by: Project Mu Bot [email protected]
-
Bump Common/MU from 2023110000.0.3 to 2023110000.0.4 @ProjectMuBot (#904)
Change Details
Bumps Common/MU from `2023110000.0.3` to `2023110000.0.4`
Introduces 3 new commits in Common/MU.
Commits
Signed-off-by: Project Mu Bot [email protected]
-
Bump MU\_BASECORE from 2023110003.1.1 to 2023110003.1.2 @ProjectMuBot (#903)
Change Details
Bumps MU_BASECORE from `2023110003.1.1` to `2023110003.1.2`
Introduces 3 new commits in MU_BASECORE.
Commits
Signed-off-by: Project Mu Bot [email protected]
-
Bump MU\_BASECORE from 2023110003.1.0 to 2023110003.1.1 @ProjectMuBot (#898)
Change Details
Bumps MU_BASECORE from `2023110003.1.0` to `2023110003.1.1`
Introduces 3 new commits in MU_BASECORE.
Commits
Signed-off-by: Project Mu Bot [email protected]
-
Bump Common/MU\_TIANO from 2023110000.0.4 to 2023110000.0.5 @ProjectMuBot (#889)
Change Details
Bumps Common/MU_TIANO from `2023110000.0.4` to `2023110000.0.5`
Introduces 4 new commits in Common/MU_TIANO.
Commits
Signed-off-by: Project Mu Bot [email protected]
Full Changelog: v5.1.2...v6.0.0