+ //\r
+ // Request to unblock this region to be accessible from inside MM environment\r
+ // These fields "should" be all on the same page, but just to be on the safe side...\r
+ //\r
+ Status = MmUnblockMemoryRequest (\r
+ (EFI_PHYSICAL_ADDRESS) ALIGN_VALUE ((UINTN) SmmRuntimeVarCacheContext->PendingUpdate - EFI_PAGE_SIZE + 1, EFI_PAGE_SIZE),\r
+ EFI_SIZE_TO_PAGES (sizeof(mVariableRuntimeCachePendingUpdate))\r
+ );\r
+ if (Status != EFI_UNSUPPORTED && EFI_ERROR (Status)) {\r
+ goto Done;\r
+ }\r
+\r
+ Status = MmUnblockMemoryRequest (\r
+ (EFI_PHYSICAL_ADDRESS) ALIGN_VALUE ((UINTN) SmmRuntimeVarCacheContext->ReadLock - EFI_PAGE_SIZE + 1, EFI_PAGE_SIZE),\r
+ EFI_SIZE_TO_PAGES (sizeof(mVariableRuntimeCacheReadLock))\r
+ );\r
+ if (Status != EFI_UNSUPPORTED && EFI_ERROR (Status)) {\r
+ goto Done;\r
+ }\r
+\r
+ Status = MmUnblockMemoryRequest (\r
+ (EFI_PHYSICAL_ADDRESS) ALIGN_VALUE ((UINTN) SmmRuntimeVarCacheContext->HobFlushComplete - EFI_PAGE_SIZE + 1, EFI_PAGE_SIZE),\r
+ EFI_SIZE_TO_PAGES (sizeof(mHobFlushComplete))\r
+ );\r
+ if (Status != EFI_UNSUPPORTED && EFI_ERROR (Status)) {\r
+ goto Done;\r
+ }\r
+\r