PERF_END (NULL,"PreMem", NULL, 0);\r
PERF_START (NULL,"PostMem", NULL, 0);\r
\r
- //\r
- // The following code dumps out interesting cache as RAM usage information\r
- // so we can keep tabs on how the cache as RAM is being utilized. The\r
- // DEBUG_CODE_BEGIN macro is used to prevent this code from being compiled\r
- // on a debug build.\r
- //\r
- DEBUG_CODE_BEGIN ();\r
- UINTN *StackPointer;\r
- UINTN StackValue;\r
-\r
- StackValue = INIT_CAR_VALUE;\r
- for (StackPointer = (UINTN *) OldCoreData->MaxTopOfCarHeap;\r
- ((UINTN) StackPointer < ((UINTN) OldCoreData->BottomOfCarHeap + OldCoreData->SizeOfCacheAsRam))\r
- && StackValue == INIT_CAR_VALUE;\r
- StackPointer++) {\r
- StackValue = *StackPointer;\r
- }\r
- \r
- DEBUG ((EFI_D_INFO, "Total Cache as RAM: %d bytes.\n", OldCoreData->SizeOfCacheAsRam));\r
- DEBUG ((EFI_D_INFO, " CAR stack ever used: %d bytes.\n",\r
- ((UINTN) OldCoreData->TopOfCarHeap - (UINTN) StackPointer)\r
- ));\r
- DEBUG ((EFI_D_INFO, " CAR heap used: %d bytes.\n",\r
- ((UINTN) OldCoreData->HobList.HandoffInformationTable->EfiFreeMemoryBottom -\r
- (UINTN) OldCoreData->HobList.Raw)\r
- ));\r
- DEBUG_CODE_END ();\r
-\r
//\r
// Alert any listeners that there is permanent memory available\r
//\r