AGESA_STATUS HeapManagerCallout(UINT32 Func, UINTN Data, VOID *ConfigPtr) { if (Func == AGESA_LOCATE_BUFFER) return agesa_LocateBuffer(Func, Data, ConfigPtr); else if (Func == AGESA_ALLOCATE_BUFFER) return agesa_AllocateBuffer(Func, Data, ConfigPtr); else if (Func == AGESA_DEALLOCATE_BUFFER) return agesa_DeallocateBuffer(Func, Data, ConfigPtr); else return AGESA_UNSUPPORTED; }
AGESA_STATUS HeapManagerCallout(UINT32 Func, UINTN Data, VOID *ConfigPtr) { AGESA_BUFFER_PARAMS *AllocParams = ConfigPtr; #if defined(HEAP_CALLOUT_RUNTIME) && ENV_RAMSTAGE if (Func == AGESA_ALLOCATE_BUFFER && Data == HEAP_CALLOUT_RUNTIME) return alloc_cbmem(AllocParams); #endif /* Must not call GetHeapBase() in AGESA_UNSUPPORTED path. */ if (Func == AGESA_LOCATE_BUFFER) return agesa_LocateBuffer(GetHeapBase(), AllocParams); else if (Func == AGESA_ALLOCATE_BUFFER) return agesa_AllocateBuffer(GetHeapBase(), AllocParams); else if (Func == AGESA_DEALLOCATE_BUFFER) return agesa_DeallocateBuffer(GetHeapBase(), AllocParams); return AGESA_UNSUPPORTED; }