coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
BiosCallOuts.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef AMD_BLOCK_CALLOUTS_AGESA_H
4 #define AMD_BLOCK_CALLOUTS_AGESA_H
5 
7 #include <stdint.h>
8 
9 #define BIOS_HEAP_SIZE 0x30000
10 #define BSP_STACK_BASE_ADDR 0x30000
11 
12 typedef struct _BIOS_HEAP_MANAGER {
16 
17 typedef struct _BIOS_BUFFER_NODE {
22 
24  void *ConfigPtr);
25 AGESA_STATUS agesa_HeapRebase(uint32_t Func, uintptr_t Data, void *ConfigPtr);
26 
28  void *ConfigPtr);
30  void *ConfigPtr);
31 AGESA_STATUS agesa_LocateBuffer(uint32_t Func, uintptr_t Data, void *ConfigPtr);
32 
34  void *ConfigPtr);
35 AGESA_STATUS agesa_NoopSuccess(uint32_t Func, uintptr_t Data, void *ConfigPtr);
37  void *ConfigPtr);
38 AGESA_STATUS agesa_Reset(uint32_t Func, uintptr_t Data, void *ConfigPtr);
39 AGESA_STATUS agesa_RunFuncOnAp(uint32_t Func, uintptr_t Data, void *ConfigPtr);
41  void *ConfigPrt);
42 
43 AGESA_STATUS agesa_ReadSpd(uint32_t Func, uintptr_t Data, void *ConfigPtr);
45  void *ConfigPtr);
47  void *ConfigPtr);
49  void *ConfigPtr);
50 AGESA_STATUS agesa_IdleAnAp(uint32_t Func, uintptr_t Data, void *ConfigPtr);
51 
52 AGESA_STATUS GetBiosCallout(uint32_t Func, uintptr_t Data, void *ConfigPtr);
53 
55  void *ConfigPtr);
57  void *ConfigPtr);
58 AGESA_STATUS agesa_HaltThisAp(uint32_t Func, uintptr_t Data, void *ConfigPtr);
59 
60 void platform_FchParams_reset(FCH_RESET_DATA_BLOCK *FchParams_reset);
61 void platform_FchParams_env(FCH_DATA_BLOCK *FchParams_env);
63  void *ConfigPtr);
64 typedef struct {
66  CALLOUT_ENTRY CalloutPtr;
68 
69 extern const BIOS_CALLOUT_STRUCT BiosCallouts[];
70 extern const int BiosCalloutsLen;
71 
72 #endif /* AMD_BLOCK_CALLOUTS_AGESA_H */
AGESA_STATUS(* CALLOUT_ENTRY)(unsigned int Param1, unsigned int Param2, void *ConfigPtr)
Definition: Amd.h:46
unsigned int AGESA_STATUS
Definition: Amd.h:36
AGESA_STATUS agesa_GfxGetVbiosImage(UINT32 Func, UINTN FchData, VOID *ConfigPrt)
AGESA_STATUS agesa_RunFuncOnAp(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:102
AGESA_STATUS agesa_EmptyIdsInitData(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:58
AGESA_STATUS agesa_ReadSpd(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:130
AGESA_STATUS GetBiosCallout(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:19
const int BiosCalloutsLen
Definition: BiosCallOuts.c:25
AGESA_STATUS agesa_NoopUnsupported(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:48
AGESA_STATUS agesa_NoopSuccess(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:53
const BIOS_CALLOUT_STRUCT BiosCallouts[]
Definition: BiosCallOuts.c:13
AGESA_STATUS agesa_Reset(UINT32 Func, UINTN Data, VOID *ConfigPtr)
Definition: def_callouts.c:66
void platform_FchParams_env(FCH_DATA_BLOCK *FchParams_env)
Definition: BiosCallOuts.c:7
AGESA_STATUS agesa_HaltThisAp(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: BiosCallOuts.c:126
AGESA_STATUS agesa_WaitForAllApsFinished(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: def_callouts.c:231
AGESA_STATUS agesa_RunFcnOnAllAps(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: def_callouts.c:216
AGESA_STATUS agesa_DeallocateBuffer(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: heapmanager.c:308
AGESA_STATUS agesa_HeapRebase(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: heapmanager.c:58
AGESA_STATUS agesa_GetTempHeapBase(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: heapmanager.c:34
AGESA_STATUS agesa_fch_initenv(uint32_t Func, uintptr_t FchData, void *ConfigPtr)
Definition: BiosCallOuts.c:36
AGESA_STATUS agesa_IdleAnAp(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: def_callouts.c:241
AGESA_STATUS platform_PcieSlotResetControl(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: def_callouts.c:147
AGESA_STATUS agesa_LocateBuffer(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: heapmanager.c:422
struct _BIOS_BUFFER_NODE BIOS_BUFFER_NODE
void platform_FchParams_reset(FCH_RESET_DATA_BLOCK *FchParams_reset)
Definition: BiosCallOuts.c:15
AGESA_STATUS agesa_PcieSlotResetControl(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: def_callouts.c:155
AGESA_STATUS agesa_fch_initreset(uint32_t Func, uintptr_t FchData, void *ConfigPtr)
Definition: BiosCallOuts.c:17
AGESA_STATUS agesa_AllocateBuffer(uint32_t Func, uintptr_t Data, void *ConfigPtr)
Definition: heapmanager.c:132
struct _BIOS_HEAP_MANAGER BIOS_HEAP_MANAGER
unsigned int uint32_t
Definition: stdint.h:14
unsigned long uintptr_t
Definition: stdint.h:21
uint32_t BufferHandle
Definition: BiosCallOuts.h:18
uint32_t BufferSize
Definition: BiosCallOuts.h:19
uint32_t NextNodeOffset
Definition: BiosCallOuts.h:20
uint32_t StartOfAllocatedNodes
Definition: BiosCallOuts.h:13
uint32_t StartOfFreedNodes
Definition: BiosCallOuts.h:14