The existing nasmb code has various issues that cannot launch SMM properly.
This change fixed both the assembly code that can bring the system into x64 mode, as well as fixing the fixup logic from the initialization code to patch the appropriate content into the MMI entry routine.
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, ...
[ ] Impacts security?
Security - Does the change have a direct security impact on an application,
flow, or firmware?
Preface
Please ensure you have read the contribution docs prior to submitting the pull request. In particular, pull request guidelines.
Description
The existing nasmb code has various issues that cannot launch SMM properly.
This change fixed both the assembly code that can bring the system into x64 mode, as well as fixing the fixup logic from the initialization code to patch the appropriate content into the MMI entry routine.
For each item, place an "x" in between
[
and]
if true. Example:[x]
. (you can also check items in the GitHub UI)How This Was Tested
This routine was integrated into Q35 and verified bootable till EndOfDxe.
Integration Instructions
N/A