blob: 8b62ae90319c6e7c5aee6bb48bba2835eeb2438c [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
Elyes Haouasf9b535e2022-07-16 09:47:42 +020022void agesawrapper_setlateinitptr(void *Late);
23void *agesawrapper_getlateinitptr(int pick);
Kyösti Mälkkid610c582017-03-05 06:28:18 +020024
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);
Kyösti Mälkkida740412017-03-05 18:57:03 +020039
Kyösti Mälkkid4955f02017-09-08 07:14:17 +030040void restore_mtrr(void);
Arthur Heymans750d57f2020-08-07 22:12:09 +020041void backup_mtrr(void);
Kyösti Mälkkid4955f02017-09-08 07:14:17 +030042const void *OemS3Saved_MTRR_Storage(void);
43
Kyösti Mälkkid610c582017-03-05 06:28:18 +020044#endif /* _AGESA_HELPER_H_ */