Open
Conversation
4 tasks
a1f3953 to
16567d2
Compare
7 tasks
86f6395 to
4f898d2
Compare
15e3a49 to
b99abac
Compare
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
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.
NOTE: Needs to be tested on real HW. Currently don't have an AMT 16+ device that supports RPE.
PR Checklist
What are you changing?
Adds Remote Platform Erase (RPE) support to MPS.
GET /amt/boot/capabilities/:guidendpoint returning rawAMT_BootCapabilitiesfor use by RPE and boot feature flowsPOST /amt/boot/rpe/:guidendpoint to enable/disable RPE on a device (setRPEEnabled)POST /amt/remoteErase/:guidendpoint to trigger a remote platform erase with a caller-supplied bitmask (sendRemoteErase)DeviceActionadditions:setRPEEnabled,sendRemoteErase,getBootCapabilitiessendRemoteErasehandles both hardware erase targets (via UEFI TLV boot parameters) and CSME/ConfigurationDataReset via theAMT_BootSettingDataPUTPlatformErase) before proceeding, returning a400if unsupportedsendRemoteEraserejecting anyeraseMaskthat combines the CSME unconfigure bit (0x10000) with hardware erase bits — returns400with a clear error messagegetPowerCapabilitiesintogetBootCapabilitiesto eliminate duplicate logicgetAMTFeatures/setAMTFeaturesto include RPE-related feature fieldsAnything the reviewer should know when reviewing this PR?
sendRemoteEraseimplementation follows the AMT spec sequence: GET boot settings → validate RPE enabled → switch boot service to RPE mode (32770) → PUT boot data with erase fields →SetBootConfigRole→ power cycle off-hard (action 5). A warm reset is insufficient; S5→S0 is required for the ME to act on the erase.0x10000bit ineraseMaskis a sentinel for CSME/ConfigurationDataReset— it is not a hardware TLV target and is stripped before building the UEFI parameter array.PlatformErasecapability field is not present on older firmware.