coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
state_machine.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <amdblocks/biosram.h>
4 
5 #include <Porting.h>
6 #include <AGESA.h>
9 
10 void platform_BeforeInitReset(struct sysinfo *cb, AMD_RESET_PARAMS *Reset)
11 {
12 }
13 
14 void platform_BeforeInitEarly(struct sysinfo *cb, AMD_EARLY_PARAMS *Early)
15 {
16 }
17 
18 void platform_BeforeInitPost(struct sysinfo *cb, AMD_POST_PARAMS *Post)
19 {
20  Post->MemConfig.BottomIo = (UINT16)(MIN(0xE0000000,
21  MAX(0x28000000, CONFIG_BOTTOMIO_POSITION)) >> 24) & 0xF8;
22 }
23 
24 void platform_AfterInitPost(struct sysinfo *cb, AMD_POST_PARAMS *Post)
25 {
26  backup_top_of_low_cacheable(Post->MemConfig.Sub4GCacheTop);
27 }
28 
29 void platform_BeforeInitResume(struct sysinfo *cb, AMD_RESUME_PARAMS *Resume)
30 {
31  OemInitResume(&Resume->S3DataBlock);
32 }
33 
34 void platform_AfterInitResume(struct sysinfo *cb, AMD_RESUME_PARAMS *Resume)
35 {
36 }
37 
38 void platform_BeforeInitEnv(struct sysinfo *cb, AMD_ENV_PARAMS *Env)
39 {
40  EmptyHeap();
41 }
42 
43 void platform_AfterInitEnv(struct sysinfo *cb, AMD_ENV_PARAMS *Env)
44 {
45 }
46 
47 void platform_BeforeS3LateRestore(struct sysinfo *cb, AMD_S3LATE_PARAMS *S3Late)
48 {
49  OemS3LateRestore(&S3Late->S3DataBlock);
50 }
51 
52 void platform_AfterS3LateRestore(struct sysinfo *cb, AMD_S3LATE_PARAMS *S3Late)
53 {
54  amd_initcpuio();
55 }
56 
57 void platform_BeforeInitMid(struct sysinfo *cb, AMD_MID_PARAMS *Mid)
58 {
59  amd_initcpuio();
60 }
61 
62 void platform_BeforeInitLate(struct sysinfo *cb, AMD_LATE_PARAMS *Late)
63 {
64 }
65 
66 void platform_AfterInitLate(struct sysinfo *cb, AMD_LATE_PARAMS *Late)
67 {
68 }
69 
70 void platform_AfterS3Save(struct sysinfo *cb, AMD_S3SAVE_PARAMS *S3Save)
71 {
72  OemS3Save(&S3Save->S3DataBlock);
73 }
void amd_initcpuio(void)
Definition: fixme.c:11
void backup_top_of_low_cacheable(uintptr_t ramtop)
Definition: biosram.c:61
#define MIN(a, b)
Definition: helpers.h:37
#define MAX(a, b)
Definition: helpers.h:40
void EmptyHeap(void)
Definition: heapmanager.c:36
void platform_BeforeInitReset(struct sysinfo *cb, AMD_RESET_PARAMS *Reset)
Definition: state_machine.c:17
void platform_AfterInitLate(struct sysinfo *cb, AMD_LATE_PARAMS *Late)
Definition: state_machine.c:99
void platform_BeforeS3LateRestore(struct sysinfo *cb, AMD_S3LATE_PARAMS *S3Late)
Definition: state_machine.c:78
void platform_BeforeInitMid(struct sysinfo *cb, AMD_MID_PARAMS *Mid)
Definition: state_machine.c:87
void platform_AfterS3LateRestore(struct sysinfo *cb, AMD_S3LATE_PARAMS *S3Late)
Definition: state_machine.c:83
void platform_BeforeInitEnv(struct sysinfo *cb, AMD_ENV_PARAMS *Env)
Definition: state_machine.c:68
void platform_BeforeInitLate(struct sysinfo *cb, AMD_LATE_PARAMS *Late)
Definition: state_machine.c:95
void platform_BeforeInitPost(struct sysinfo *cb, AMD_POST_PARAMS *Post)
Definition: state_machine.c:48
void platform_BeforeInitEarly(struct sysinfo *cb, AMD_EARLY_PARAMS *Early)
Definition: state_machine.c:44
void platform_AfterInitPost(struct sysinfo *cb, AMD_POST_PARAMS *Post)
Definition: state_machine.c:54
void platform_BeforeInitResume(struct sysinfo *cb, AMD_RESUME_PARAMS *Resume)
Definition: state_machine.c:59
void platform_AfterInitEnv(struct sysinfo *cb, AMD_ENV_PARAMS *Env)
Definition: state_machine.c:73
void platform_AfterInitResume(struct sysinfo *cb, AMD_RESUME_PARAMS *Resume)
Definition: state_machine.c:64
void platform_AfterS3Save(struct sysinfo *cb, AMD_S3SAVE_PARAMS *S3Save)
AGESA_STATUS OemS3LateRestore(AMD_S3_PARAMS *dataBlock)
Definition: oem_s3.c:63
AGESA_STATUS OemInitResume(AMD_S3_PARAMS *dataBlock)
Definition: oem_s3.c:47
AGESA_STATUS OemS3Save(AMD_S3_PARAMS *dataBlock)