Skip to content

v6.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 11 Apr 23:12
· 114 commits to refs/heads/main since this release
271185d

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, ...
    • 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

    This was tested on QEMU Q35 and SBSA in UEFI shell environments.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • 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, ...
    • 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

    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>
    
  • 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, ...
    • 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

    Tested by running SBSA and reviewing the memory allocation HOBs

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • 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, ...
    • 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

    Tested by running the paging audit on Q35 and SBSA

    Integration Instructions

    N/A




  • 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, ...
    • 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 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>
    
  • 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, ...
    • 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

    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, ...
    • 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

    Q35 platform is tested with QEMU 9.0.0-rc1 on Windows and booted to UEFI shell.

    Integration Instructions

    N/A




🔐 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, ...
    • 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

    This change is tested on QEMU Q35 and SBSA platforms and confirmed booting to UEFI shell.

    Integration Instructions

    N/A




🛠️ 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.

    Commits
    • e8a14c Add NO_STACK_COOKIE to Module Entry Points (#793)

    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
    • 968f75 MfciDxe: Indicate the MFCI Protocol is produced in the INF (#454)
    • 1f3a8e pip: bump edk2-pytool-library from 0.21.4 to 0.21.5 (#456)
    • c35b46 When recovering Pei buffer from hob list, need to fix internal pointe… (#457)

    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
    • ad728a Updated LinuxCFLAGS to match the change made from edk2 (#789)
    • 7f1f52 [CHERRY-PICK] UefiCpuPkg/MpInitLib: Enable execute disable bit. (#790)
    • 822b98 MdeModulePkg/MemoryProtectionSupport: Fix GCC type mismatch warnings (#791)

    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
    • ac3f06 Added mock library for SmmServicesTableLib and mock protocol for SmmCpu (#784)
    • 96f694 pip: update edk2-pytool-library requirement from ~=0.21.4 to ~=0.21.5 (#787)
    • 8a0ac5 Added Mock Library for IoLib (#788)

    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
    • f32fec pip: bump edk2-pytool-extensions from 0.27.2 to 0.27.3 (#251)
    • e8e47a pip: bump edk2-pytool-library from 0.21.3 to 0.21.4 (#255)
    • e28c7a Repo File Sync: prevent `rustup` from self-updating (#256)
    • 1c115e Add an assert to TCG log function if log is full (#257)

    Signed-off-by: Project Mu Bot [email protected]




Full Changelog: v5.1.2...v6.0.0