coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/romstage.h>
4 #include <console/console.h>
5 #include <device/mmio.h>
6 #include <elog.h>
7 #include <romstage_handoff.h>
14 
16 {
17 }
18 
19 /* The romstage entry point for this platform is not mainboard-specific, hence the name */
21 {
23 
24  /* Perform some early chipset initialization required
25  * before RAM initialization can work
26  */
28  printk(BIOS_DEBUG, "Back from haswell_early_initialization()\n");
29 
30  const int s3resume = southbridge_detect_s3_resume();
31 
32  elog_boot_notify(s3resume);
33 
34  /* Prepare USB controller early in S3 resume */
35  if (s3resume)
37 
38  post_code(0x3a);
39 
41 
42  if (CONFIG(INTEL_TXT))
44 
45  perform_raminit(s3resume);
46 
47  if (CONFIG(INTEL_TXT)) {
48  printk(BIOS_DEBUG, "Check TXT_ERROR register after MRC\n");
49 
51 
53 
55 
57  }
58 
60 
61  romstage_handoff_init(s3resume);
62 
64 
65  post_code(0x3f);
66 }
static uint32_t read32(const void *addr)
Definition: mmio.h:22
#define printk(level,...)
Definition: stdlib.h:16
@ CONFIG
Definition: dsi_common.h:201
void enable_usb_bar(void)
Definition: early_usb_mrc.c:17
static void elog_boot_notify(int s3_resume)
Definition: elog.h:62
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
Definition: loglevel.h:128
void mainboard_romstage_entry(void)
Definition: romstage.c:6
void mb_late_romstage_setup(void)
Definition: romstage.c:23
void haswell_early_initialization(void)
Definition: early_init.c:183
void haswell_unhide_peg(void)
Definition: early_init.c:110
void report_platform_info(void)
void perform_raminit(const int s3resume)
Definition: raminit.c:342
#define post_code(value)
Definition: post_code.h:12
int romstage_handoff_init(int is_s3_resume)
const struct smm_save_state_ops *legacy_ops __weak
Definition: save_state.c:8
void intel_txt_log_spad(void)
Definition: common.c:101
bool intel_txt_memory_has_secrets(void)
Definition: common.c:135
int intel_txt_log_acm_error(const uint32_t acm_error)
Dump the ACM error status bits.
Definition: common.c:49
void intel_txt_romstage_init(void)
Definition: romstage.c:84
void early_pch_init(void)
Definition: early_pch.c:299
int southbridge_detect_s3_resume(void)
Definition: pmclib.c:18
void txt_dump_regions(void)
Definition: logging.c:191
#define TXT_ERROR
Definition: txt_register.h:25