This requires to also unify the calling convention for AGESA functions from AGESA_STATUS (*agesa_func)(UINT32 Func, UINT32 Data, VOID *ConfigPtr) to AGESA_STATUS (*agesa_func)(UINT32 Func, UINTN Data, VOID *ConfigPtr) On systems running 32bit x86 code this will not make a difference as UINTN is uintptr_t which is 32bit on these machines. Change-Id: I095ec2273c18a9fda11712654e290ebc41b27bd9 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/20380 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
66 lines
2.2 KiB
C
66 lines
2.2 KiB
C
/*
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* Copyright (C) 2011,2012 Advanced Micro Devices, Inc.
|
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef CALLOUTS_AMD_AGESA_H
|
|
#define CALLOUTS_AMD_AGESA_H
|
|
|
|
#include <Porting.h>
|
|
#include <AGESA.h>
|
|
|
|
#define BIOS_HEAP_START_ADDRESS 0x010000000
|
|
#define BIOS_HEAP_SIZE 0x30000
|
|
#define BSP_STACK_BASE_ADDR 0x30000
|
|
|
|
typedef struct _BIOS_HEAP_MANAGER {
|
|
UINT32 StartOfAllocatedNodes;
|
|
UINT32 StartOfFreedNodes;
|
|
} BIOS_HEAP_MANAGER;
|
|
|
|
typedef struct _BIOS_BUFFER_NODE {
|
|
UINT32 BufferHandle;
|
|
UINT32 BufferSize;
|
|
UINT32 NextNodeOffset;
|
|
} BIOS_BUFFER_NODE;
|
|
|
|
UINT32 GetHeapBase(AMD_CONFIG_PARAMS *StdHeader);
|
|
void EmptyHeap(void);
|
|
|
|
AGESA_STATUS agesa_AllocateBuffer (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_DeallocateBuffer (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_LocateBuffer (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
|
|
AGESA_STATUS agesa_NoopUnsupported (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_NoopSuccess (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_EmptyIdsInitData (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_Reset (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_RunFuncOnAp (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_GfxGetVbiosImage(UINT32 Func, UINTN FchData, VOID *ConfigPrt);
|
|
|
|
AGESA_STATUS agesa_ReadSpd (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
AGESA_STATUS agesa_ReadSpd_from_cbfs(UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
|
|
AGESA_STATUS GetBiosCallout (UINT32 Func, UINTN Data, VOID *ConfigPtr);
|
|
|
|
typedef struct {
|
|
UINT32 CalloutName;
|
|
CALLOUT_ENTRY CalloutPtr;
|
|
} BIOS_CALLOUT_STRUCT;
|
|
|
|
extern const BIOS_CALLOUT_STRUCT BiosCallouts[];
|
|
extern const int BiosCalloutsLen;
|
|
|
|
#endif /* CALLOUTS_AMD_AGESA_H */
|