Skip to content

Commit e4e2969

Browse files
kuqin12mergify[bot]
authored andcommitted
OvmfPkg: README: Add documentation for Standalone MM on OVMF
This update introduces a new section in the README file, detailing the design considerations of the recently onboarded Standalone MM platform in OVMF. The section is intended for future reference and should be revised accordingly if updates to the Standalone MM framework render these limitations obsolete. Signed-off-by: Kun Qin <[email protected]>
1 parent b25c1aa commit e4e2969

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

OvmfPkg/README

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,47 @@ can be used on Windows.
214214

215215
-global ICH9-LPC.disable_s3=1 \
216216

217+
=== Standalone MM Support ===
218+
219+
Standalone MM (Management Mode) in UEFI is a secure execution environment
220+
provided by the CPU and related silicon, designed to improve security and
221+
portability compared to Traditional MM. It operates independently of the DXE
222+
(Driver Execution Environment) phase, ensuring better isolation and reducing
223+
vulnerabilities.
224+
225+
Standalone MM leverages the same hardware capabilities as Traditional MM but
226+
revises the software model to address security challenges. It uses Management
227+
Mode RAM (MMRAM) for executing drivers and protocols securely, and its
228+
initialization and runtime phases are distinct from Traditional MM.
229+
230+
Due to the nature of Standalone MM, there are some limitations, requirements and
231+
considerations when using it in OVMF:
232+
233+
* Standalone MM is only supported in X64 mode and is not available in IA32 mode.
234+
* The Standalone MM driver must be built with `-D STANDALONE_MM_ENABLE` flag.
235+
* For X64, Standalone MM does not currently support S3 resume or LockBox
236+
functionality. While LockBox functionality could be supported in the future
237+
with unblock memory enabled during the DXE phase, S3 resume support is not
238+
planned.
239+
* On OVMF, Standalone MM does not support CPU hotplugging at this time; however,
240+
this feature may be enabled in the future.
241+
* Similar to SMM, Standalone MM requires a pflash-backed variable store.
242+
* Standalone MM framework copies the entire Firmware Volume (FV) containing the
243+
Standalone MM core into MMRAM. As a result, MMRAM must have sufficient
244+
capacity to accommodate this operation alongside the runtime-loaded drivers.
245+
246+
* Example QEMU launching command for Standalone MM based Q35 machine type:
247+
248+
$ qemu-system-x86_64 \
249+
-debugcon stdio \
250+
-smp 4 -cpu IvyBridge,+rdrand \
251+
-machine q35,smm=on --accel tcg,thread=single \
252+
-global driver=cfi.pflash01,property=secure,value=on \
253+
-drive if=pflash,format=raw,unit=0,file=OVMF_CODE.fd,readonly=on \
254+
-drive if=pflash,format=raw,unit=1,file=OVMF_VARS.fd \
255+
-global ICH9-LPC.disable_s3=1 \
256+
-global mch.extended-tseg-mbytes=32
257+
217258
=== Network Support ===
218259

219260
OVMF provides a UEFI network stack by default. Its lowest level driver is the

0 commit comments

Comments
 (0)