Skip to content
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

2405: Reset Architecture Changes [Rebase & FF] #935

Merged
merged 4 commits into from
Jun 21, 2024

Conversation

makubacki
Copy link
Member

@makubacki makubacki commented Jun 20, 2024

Description

Contains a set of changes related to reset architecture. The main
feature included is HwResetSystemLib.

Closes #870


UefiCpuPkg: Add support for testing the SMM page protections

Adds instrumentation to the PageTbl and SmiPFHandler code to
allow reset (instead of halts) on page faults.

This enables automated testing of fault detection and handling.


MdeModulePkg: Perform capsule reset with subtype

If a capsule indicates it should initiate a reset, reset with the
subtype gCapsuleArmedResetGuid using the helper function in
ResetUtilityLib.


MdePkg: Remove EfiResetSystem() from UefiRuntimeLib

Removes the EfiResetSystem() API from the library. ResetSystemLib
can be used for reset.


UefiCpuPkg: Add support for testing the SMM page protections

Adds instrumentation to the PageTbl and SmiPFHandler code to
allow reset (instead of halts) on page faults.

This enables automated testing of fault detection and handling.


  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

  • Changes previous release branches with non-functional refactoring

Integration Instructions

  • Add an instance of HwResetSystemLib to the platform build that links
    against core reset modules like ResetSystemPei. Other modules should
    continue to use ResetSystemLib which may locate the Reset PPI/Protocol
    produced by the core reset driver.

@makubacki makubacki added type:enhancement New feature or pull request type:design-change A new proposal or modification to a feature design labels Jun 20, 2024
@makubacki makubacki self-assigned this Jun 20, 2024
@makubacki makubacki force-pushed the 2405_reset_arch_changes branch 2 times, most recently from 88eaa48 to 15492c1 Compare June 20, 2024 23:51
MdeModulePkg/MdeModulePkg.ci.yaml Show resolved Hide resolved
UefiCpuPkg/UefiCpuPkg.dec Outdated Show resolved Hide resolved
Bret Barkelew and others added 4 commits June 21, 2024 15:09
Uses a new library class to represent the reset library linked
against core reset modules. This allows differentiation from the
reset library instance linked against all other modules that may
depend on functionality produced by the core reset module.

Co-authored-by: Michael Kubacki <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
If a capsule indicates it should initiate a reset, reset with the
subtype gCapsuleArmedResetGuid using the helper function in
ResetUtilityLib.

Signed-off-by: Michael Kubacki <[email protected]>
Removes the EfiResetSystem() API from the library. ResetSystemLib
can be used for reset.

Signed-off-by: Michael Kubacki <[email protected]>
Adds instrumentation to the PageTbl and SmiPFHandler code to
allow reset (instead of halts) on page faults.

This enables automated testing of fault detection and handling.

Co-authored-by: Michael Kubacki <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
@makubacki makubacki force-pushed the 2405_reset_arch_changes branch from 15492c1 to 2e0758e Compare June 21, 2024 19:10
@codecov-commenter
Copy link

codecov-commenter commented Jun 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (release/202405@d62604e). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202405     #935   +/-   ##
=================================================
  Coverage                  ?   23.35%           
=================================================
  Files                     ?      197           
  Lines                     ?    23531           
  Branches                  ?     6980           
=================================================
  Hits                      ?     5495           
  Misses                    ?    17039           
  Partials                  ?      997           
Flag Coverage Δ
MdeModulePkg 17.80% <ø> (?)
MdePkg 28.08% <ø> (?)
NetworkPkg 8.51% <ø> (?)
UefiCpuPkg 13.98% <ø> (?)
UnitTestFrameworkPkg 6.01% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@makubacki makubacki merged commit a941de4 into microsoft:release/202405 Jun 21, 2024
27 checks passed
@makubacki makubacki linked an issue Jun 26, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:design-change A new proposal or modification to a feature design type:enhancement New feature or pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: HwResetLib
4 participants