Hi Hao,

As mentioned in the cover letter and in BZ-3168, VariableStandaloneMm and Tcg2Smm would need this capability to unblock certain regions in order to access either variable runtime cache or NVS region patched into ACPI table, if non-MMRAM region is blocked for access.

Just as a preview (error handling needs better polishing), the example usages for the 2 drivers above could be found here:
1. Variable DXE SMM change that unblocks runtime cache regions is posted here: https://github.com/kuqin12/mu_basecore/commit/189f90318d1256c2e72a1a67d31e3176588d8e5b
2. Tcg2Smm change example, which breaks one module into 2 and then unblock NVS region, is posted here: https://github.com/kuqin12/mu_basecore/commit/c0784f95ffe31d4d65f6230657adfc63294a693d

The change should be relatively minor but critical for the standalone Mm model.

Thanks,
Kun