blob: 120e74a71a8ad4d2872cbbf81f4207a1ca77c9e2 [file] [log] [blame]
Angel Pons4b429832020-04-02 23:48:50 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Kyösti Mälkkid610c582017-03-05 06:28:18 +02002
3#ifndef _AGESA_HELPER_H_
4#define _AGESA_HELPER_H_
5
Kyösti Mälkkida740412017-03-05 18:57:03 +02006#include <stddef.h>
Kyösti Mälkkia963acd2019-08-16 20:34:25 +03007#include <arch/romstage.h>
Kyösti Mälkkida740412017-03-05 18:57:03 +02008
Kyösti Mälkkid610c582017-03-05 06:28:18 +02009enum {
10 PICK_DMI, /* DMI Interface */
11 PICK_PSTATE, /* Acpi Pstate SSDT Table */
12 PICK_SRAT, /* SRAT Table */
13 PICK_SLIT, /* SLIT Table */
14 PICK_WHEA_MCE, /* WHEA MCE table */
15 PICK_WHEA_CMC, /* WHEA CMV table */
16 PICK_ALIB, /* SACPI SSDT table with ALIB implementation */
17 PICK_IVRS, /* IOMMU ACPI IVRS(I/O Virtualization Reporting Structure) table */
Kyösti Mälkki0e01c482017-07-27 06:15:02 +030018 PICK_CRAT, /* Component Resource Affinity Table table */
19 PICK_CDIT, /* Component Locality Distance Information table */
Kyösti Mälkkid610c582017-03-05 06:28:18 +020020};
21
Kyösti Mälkki0e01c482017-07-27 06:15:02 +030022void agesawrapper_setlateinitptr (void *Late);
Kyösti Mälkkid610c582017-03-05 06:28:18 +020023void *agesawrapper_getlateinitptr (int pick);
24
25void amd_initcpuio(void);
Kyösti Mälkkid610c582017-03-05 06:28:18 +020026void amd_initenv(void);
27
Kyösti Mälkkida740412017-03-05 18:57:03 +020028void *GetHeapBase(void);
29void EmptyHeap(void);
Kyösti Mälkkida740412017-03-05 18:57:03 +020030
31#define BSP_STACK_BASE_ADDR 0x30000
32
Kyösti Mälkkida740412017-03-05 18:57:03 +020033/* This covers node 0 only. */
34#define HIGH_ROMSTAGE_STACK_SIZE (0x48000 - BSP_STACK_BASE_ADDR)
Kyösti Mälkkida740412017-03-05 18:57:03 +020035
36#define HIGH_MEMORY_SCRATCH 0x30000
37
Kyösti Mälkki63fac812017-09-02 16:41:43 +030038void fixup_cbmem_to_UC(int s3resume);
39void recover_postcar_frame(struct postcar_frame *pcf, int s3resume);
Kyösti Mälkkida740412017-03-05 18:57:03 +020040
Kyösti Mälkkid4955f02017-09-08 07:14:17 +030041void restore_mtrr(void);
42void backup_mtrr(void *mtrr_store, u32 *mtrr_store_size);
43const void *OemS3Saved_MTRR_Storage(void);
44
Kyösti Mälkkid610c582017-03-05 06:28:18 +020045#endif /* _AGESA_HELPER_H_ */