coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <cpu/x86/mtrr.h>
Include dependency graph for romstage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  postcar_frame
 

Functions

void mainboard_romstage_entry (void)
 
int postcar_frame_init (struct postcar_frame *pcf, size_t stack_size)
 
void postcar_frame_add_mtrr (struct postcar_frame *pcf, uintptr_t addr, size_t size, int type)
 
void postcar_frame_add_romcache (struct postcar_frame *pcf, int type)
 
void fill_postcar_frame (struct postcar_frame *pcf)
 
void prepare_and_run_postcar (struct postcar_frame *pcf)
 
void run_postcar_phase (struct postcar_frame *pcf)
 
void late_car_teardown (void)
 
void postcar_enable_tseg_cache (struct postcar_frame *pcf)
 

Function Documentation

◆ fill_postcar_frame()

◆ late_car_teardown()

void late_car_teardown ( void  )

Definition at line 15 of file postcar.c.

References fsp_temp_ram_exit().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mainboard_romstage_entry()

void mainboard_romstage_entry ( void  )

Definition at line 26 of file car.c.

References ACPI_S3, BIOS_DEBUG, BIOS_ERR, BIOS_SPEW, BOOT_PATH_NORMAL, BOOT_PATH_RESET, BOOT_PATH_RESUME, BOOT_PATH_WARM_RESET, cache_as_ram_stage_main(), cbfs_map(), cbmem_initialize_empty(), cbmem_recovery(), chipset_init(), chipset_prev_sleep_state(), CONFIG, configure_dpr(), console_init(), cse_fw_sync(), cse_get_telemetry_data(), D0F0_DEVEN, D31F0_GEN_PMCON_3, die(), die_with_post_code, disable_rom_shadow(), dmibar_clrbits16, dump_spd_registers, early_pch_init(), early_pch_reset_pmcon(), early_pmc_init(), early_tco_init(), early_thermal_init(), early_usb_init(), elog_boot_notify(), sysinfo::enable_igd, sysinfo::enable_peg, enable_usb_bar(), device::enabled, enter_raminit_or_reset(), fill_power_state(), find_fsp(), fixup_i945gm_errata(), fsp_find_extension_hob_by_guid(), fsp_memory_init(), fsp_version, get_gmch_info(), get_mb_spd_addrmap(), gfx_init(), gm45_early_init(), gm45_early_reset(), gm45_late_init(), gpio_configure_pads(), haswell_early_initialization(), haswell_unhide_peg(), HECI1_BASE_ADDRESS, heci_init(), hob_variable_guid, chipset_power_state::hsio_checksum, chipset_power_state::hsio_version, i82371eb_early_init(), i82801dx_early_init(), i82801gx_early_init(), i82801ix_dmi_poll_vc1(), i82801ix_dmi_setup(), i82801ix_early_init(), i82801jx_early_init(), i945_early_initialization(), i945_late_initialization(), init_iommu(), init_pm(), intel_early_me_status(), intel_me_hsio_version(), intel_me_status(), intel_txt_log_acm_error(), intel_txt_log_spad(), intel_txt_memory_has_secrets(), intel_txt_romstage_init(), ironlake_early_initialization(), IRONLAKE_MOBILE, LPC_DEV, mainboard_config_gpios(), mainboard_early_init(), mainboard_fill_mrc_params(), mainboard_get_spd_map(), mainboard_gpio_map, mainboard_late_rcba_config(), mainboard_lp_gpio_map, mainboard_lpc_decode(), mainboard_machine_check(), mainboard_post_raminit(), mainboard_pre_raminit(), mainboard_pre_raminit_config(), mainboard_rtc_failed(), mainboard_save_dimm_info(), mainboard_usb_ports, mb_get_spd_map(), mb_late_romstage_setup(), mb_pirq_setup(), mb_post_raminit_setup(), mb_pre_raminit_setup(), MCH_DEV, mchbar_read16(), mchbar_read32(), mchbar_write16(), memset(), mrc_cache_stash_data(), MRC_VARIABLE_DATA, northbridge_romstage_finalize(), NULL, pch_early_init(), pch_thermal_configuration(), pci_and_config32(), PCI_DEV, pci_read_config16(), pci_read_config8(), pci_write_config16(), pcidev_on_root(), pcie_init(), perform_raminit(), pineview_early_init(), pmc_fill_power_state(), pmc_get_power_state(), pmc_set_disb(), PMSTS, PMSTS_MCHBAR, PMSTS_WARM_RESET, post_code, POST_INVALID_CBFS, power_state, pre_mem_debug_init(), chipset_power_state::prev_sleep_state, prev_sleep_state(), printk, punit_init(), raminit(), rcba_config(), read32(), report_platform_info(), romstage_handoff_init(), rtc_init(), save_dimm_info(), SD_MMC_DEV, SD_MMC_FUNC, sdram_initialize(), set_max_freq(), setup_pch_gpios(), setup_pch_lp_gpios(), smbus_common_init(), soc_early_romstage_init(), soc_get_rtc_failed(), southbridge_configure_default_intmap(), southbridge_detect_s3_resume(), southbridge_rcba_config(), sysinfo::spd_map, SSKPD, SSKPD_HI, SSKPD_MCHBAR, storage_test(), storage_test_complete(), storage_test_init(), system_reset(), systemagent_early_init(), timestamp_add_now(), TS_CSE_FW_SYNC_END, TS_CSE_FW_SYNC_START, TS_INITRAM_END, TS_INITRAM_START, txt_dump_regions(), TXT_ERROR, unlock_pam_regions(), variant_romstage_entry(), variant_romstage_gpio_table(), x4x_early_init(), and x4x_late_init().

Referenced by car_stage_entry(), and romstage_main().

Here is the caller graph for this function:

◆ postcar_enable_tseg_cache()

void postcar_enable_tseg_cache ( struct postcar_frame pcf)

Definition at line 159 of file postcar_loader.c.

References MTRR_TYPE_WRBACK, postcar_frame_add_mtrr(), and smm_region().

Referenced by car_stage_entry(), and fill_postcar_frame().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postcar_frame_add_mtrr()

void postcar_frame_add_mtrr ( struct postcar_frame pcf,
uintptr_t  addr,
size_t  size,
int  type 
)

Definition at line 71 of file postcar_loader.c.

References addr, postcar_frame::ctx, postcar_var_mtrr_set(), type, and var_mtrr_set_with_cb().

Referenced by car_stage_entry(), fast_spi_cache_ext_bios_postcar(), fill_postcar_frame(), postcar_enable_tseg_cache(), postcar_frame_add_romcache(), and recover_postcar_frame().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postcar_frame_add_romcache()

void postcar_frame_add_romcache ( struct postcar_frame pcf,
int  type 
)

Definition at line 77 of file postcar_loader.c.

References CACHE_ROM_BASE, CACHE_ROM_SIZE, CONFIG, postcar_frame_add_mtrr(), and type.

Referenced by car_stage_entry(), fill_postcar_frame(), and postcar_frame_common_mtrrs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postcar_frame_init()

int postcar_frame_init ( struct postcar_frame pcf,
size_t  stack_size 
)

Definition at line 30 of file postcar_loader.c.

References BIOS_ERR, cbmem_add(), CBMEM_ID_ROMSTAGE_RAM_STACK, KiB, NULL, postcar_frame_prepare(), printk, and postcar_frame::stack.

Referenced by car_stage_entry(), prepare_and_run_postcar(), and romstage_main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prepare_and_run_postcar()

void prepare_and_run_postcar ( struct postcar_frame pcf)

Definition at line 95 of file postcar_loader.c.

References die(), fill_postcar_frame(), postcar_frame_common_mtrrs(), postcar_frame_init(), and run_postcar_phase().

Referenced by romstage_main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_postcar_phase()