- //\r
- // If Heap Guard is enabled, the page at the top and/or bottom of\r
- // this memory block to free might be inaccessible. Skipping them\r
- // to avoid page fault exception.\r
- //\r
- UINT64 StartToClear;\r
- UINT64 EndToClear;\r
-\r
- StartToClear = Start;\r
- EndToClear = RangeEnd + 1;\r
- if (PcdGet8 (PcdHeapGuardPropertyMask) & (BIT1|BIT0)) {\r
- if (IsGuardPage(StartToClear)) {\r
- StartToClear += EFI_PAGE_SIZE;\r
- }\r
- if (IsGuardPage (EndToClear - 1)) {\r
- EndToClear -= EFI_PAGE_SIZE;\r
- }\r
- }\r
-\r
- if (EndToClear > StartToClear) {\r
- DEBUG_CLEAR_MEMORY(\r
- (VOID *)(UINTN)StartToClear,\r
- (UINTN)(EndToClear - StartToClear)\r
- );\r
- }\r