vc/amd/00670F00: Sync AGESA.h with PI blob

Add a new callout definition for AgesaGetTempHeapBase and displace
AgesaHeapRebase (which was merged too soon) in the ordering.  Also
add its structure.

AGESA will be modified to ask coreboot for the location for temporary
storage of heap data at the end of InitPost.  The old methodology is
to use 0xb0000 but the change will allow coreboot to determine the
location.

BUG=b:74518368

Change-Id: I0bc894d7842cf4b3eb728a90704277b17f4bf7be
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/26145
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Marshall Dawson 2018-05-07 08:37:31 -06:00 committed by Martin Roth
parent 7a2a29d0e1
commit 669ba23710
1 changed files with 17 additions and 1 deletions

View File

@ -68,7 +68,8 @@
#define AGESA_IDLE_AN_AP 0x00028107ul
#define AGESA_WAIT_FOR_ALL_APS 0x00028108ul
#define AGESA_HALT_THIS_AP 0x00028109ul
#define AGESA_HEAP_REBASE 0x0002810aul
#define AGESA_GET_TEMP_HEAP_BASE 0x0002810Aul
#define AGESA_HEAP_REBASE 0x0002810Bul
// AGESA ADVANCED CALLOUTS, Memory
#define AGESA_READ_SPD 0x00028140ul
@ -2528,6 +2529,15 @@ typedef struct {
/// be enabled
} AGESA_HALT_THIS_AP_PARAMS;
/// Parameters structure for interface call-out AgesaGetTempHeapBase
typedef struct {
IN OUT AMD_CONFIG_PARAMS StdHeader; ///< Standard configuration
/// header
OUT UINTN TempHeapAddress; ///< The address where heap
/// contents will be stored
/// temporarily
} AGESA_TEMP_HEAP_BASE_PARAMS;
/// VoltageType values
typedef enum {
VTYPE_CPU_VREF, ///< Cpu side Vref
@ -2614,6 +2624,12 @@ AgesaHookBeforeDramInitRecovery (
IN OUT MEM_DATA_STRUCT *MemData
);
AGESA_STATUS
AgesaGetTempHeapBase (
IN UINTN FcnData,
IN OUT AGESA_TEMP_HEAP_BASE_PARAMS *TempHeapBaseParams
);
AGESA_STATUS
AgesaRunFcnOnAp (
IN UINTN ApicIdOfCore,