coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
Go to the source code of this file.
Data Structures | |
union | eeprom_dimm_layout |
struct | eeprom_dimm_layout::__packed |
struct | eeprom_board_layout |
struct | eeprom_board_settings |
struct | eeprom_bmc_settings |
struct | eeprom_layout |
Macros | |
#define | HERMES_SERIAL_NUMBER_LENGTH 32 |
#define | READ_EEPROM(section_type, section_name, dest, opt_name) |
#define | READ_EEPROM_FSP_M(dest, opt_name) READ_EEPROM(FSPM_UPD, RawFSPMUPD, dest, opt_name) |
#define | READ_EEPROM_FSP_S(dest, opt_name) READ_EEPROM(FSPS_UPD, RawFSPSUPD, dest, opt_name) |
Functions | |
_Static_assert (sizeof(union eeprom_dimm_layout)==0x80, "union eeprom_dimm_layout has invalid size!") | |
_Static_assert (sizeof(struct eeprom_board_layout)==(617+sizeof(uint32_t)), "struct eeprom_board_layout has invalid size!") | |
_Static_assert (sizeof(struct eeprom_board_settings)==(11+sizeof(uint32_t)), "struct eeprom_board_settings has invalid size!") | |
_Static_assert (sizeof(FSPM_UPD)<=0x600, "FSPM_UPD too big") | |
_Static_assert (sizeof(FSPS_UPD)<=0xc00, "FSPS_UPD too big") | |
_Static_assert (sizeof(struct eeprom_layout)==0x2000, "EEPROM layout size mismatch") | |
bool | eeprom_read_buffer (void *blob, size_t read_offset, size_t size) |
int | check_signature (const size_t offset, const uint64_t signature) |
struct eeprom_board_settings * | get_board_settings (void) |
struct eeprom_bmc_settings * | get_bmc_settings (void) |
uint8_t | get_bmc_hsi (void) |
void | report_eeprom_error (const size_t off) |
bool | write_board_settings (const struct eeprom_board_layout *new_layout) |
#define READ_EEPROM | ( | section_type, | |
section_name, | |||
dest, | |||
opt_name | |||
) |
#define READ_EEPROM_FSP_M | ( | dest, | |
opt_name | |||
) | READ_EEPROM(FSPM_UPD, RawFSPMUPD, dest, opt_name) |
#define READ_EEPROM_FSP_S | ( | dest, | |
opt_name | |||
) | READ_EEPROM(FSPS_UPD, RawFSPSUPD, dest, opt_name) |
_Static_assert | ( | sizeof(FSPM_UPD)<= | 0x600, |
"FSPM_UPD too big" | |||
) |
_Static_assert | ( | sizeof(FSPS_UPD)<= | 0xc00, |
"FSPS_UPD too big" | |||
) |
_Static_assert | ( | sizeof(struct eeprom_board_layout) | = =(617+sizeof(uint32_t)) , |
"struct eeprom_board_layout has invalid size!" | |||
) |
_Static_assert | ( | sizeof(struct eeprom_board_settings) | = =(11+sizeof(uint32_t)) , |
"struct eeprom_board_settings has invalid size!" | |||
) |
_Static_assert | ( | sizeof(struct eeprom_layout) | = =0x2000 , |
"EEPROM layout size mismatch" | |||
) |
_Static_assert | ( | sizeof(union eeprom_dimm_layout) | = =0x80 , |
"union eeprom_dimm_layout has invalid size!" | |||
) |
Definition at line 20 of file eeprom.c.
References ARRAY_SIZE, BIOS_DEBUG, eeprom_read_buffer(), offset, and printk.
Referenced by mainboard_early(), mainboard_memory_init_params(), and mainboard_silicon_init_params().
Definition at line 103 of file eeprom.c.
References BIOS_SPEW, do_smbus_process_call(), HOSTC, I2C_ADDR_EEPROM, I2C_EN, PCH_DEV_SMBUS, pci_read_config32(), pci_write_config32(), printk, SMBUS_IO_BASE, and swab16.
Referenced by check_signature(), get_bmc_settings(), get_board_settings_from_eeprom(), smbios_mainboard_serial_number(), smbios_system_serial_number(), and write_board_settings().
Definition at line 91 of file eeprom.c.
References BIOS_DEBUG, get_bmc_settings(), eeprom_bmc_settings::hsi, printk, and s.
Referenced by mainboard_azalia_program_runtime_verbs(), and smbios_mainboard_version().
struct eeprom_bmc_settings* get_bmc_settings | ( | void | ) |
Definition at line 73 of file eeprom.c.
References BIOS_ERR, eeprom_read_buffer(), NULL, offsetof, and printk.
Referenced by get_bmc_hsi(), and mainboard_vbt_filename().
struct eeprom_board_settings* get_board_settings | ( | void | ) |
Definition at line 59 of file eeprom.c.
References board_cfg, get_board_settings_from_eeprom(), and NULL.
Referenced by mainboard_early(), mainboard_final(), mainboard_init(), and mainboard_r0x_configure_alc888().
bool write_board_settings | ( | const struct eeprom_board_layout * | new_layout | ) |
Definition at line 183 of file eeprom.c.
References assert, BIOS_DEBUG, BIOS_ERR, eeprom_read_buffer(), eeprom_write_byte(), offsetof, and printk.
Referenced by update_board_layout().