coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <acpi/acpi.h>
#include <arch/cbconfig.h>
#include <console/console.h>
#include <console/uart.h>
#include <ip_checksum.h>
#include <boot/coreboot_tables.h>
#include <boot/tables.h>
#include <boot_device.h>
#include <string.h>
#include <version.h>
#include <boardid.h>
#include <device/device.h>
#include <drivers/tpm/tpm_ppi.h>
#include <fmap.h>
#include <fw_config.h>
#include <cbfs.h>
#include <cbmem.h>
#include <bootmem.h>
#include <bootsplash.h>
#include <inttypes.h>
#include <spi_flash.h>
#include <smmstore.h>
#include <types.h>
Go to the source code of this file.
Definition at line 235 of file coreboot_table.c.
References ARRAY_SIZE, BIOS_ERR, lb_cbmem_ref::cbmem_addr, cbmem_find(), CBMEM_ID_ACPI_CNVS, CBMEM_ID_ACPI_GNVS, CBMEM_ID_CONSOLE, CBMEM_ID_FMAP, CBMEM_ID_TCPA_LOG, CBMEM_ID_TIMESTAMP, CBMEM_ID_TYPE_C_INFO, CBMEM_ID_VBOOT_WORKBUF, CBMEM_ID_VPD, CBMEM_ID_WIFI_CALIBRATION, header, lb_new_record(), LB_TAG_ACPI_CNVS, LB_TAG_ACPI_GNVS, LB_TAG_CBMEM_CONSOLE, LB_TAG_FMAP, LB_TAG_TCPA_LOG, LB_TAG_TIMESTAMPS, LB_TAG_TYPE_C_INFO, LB_TAG_VBOOT_WORKBUF, LB_TAG_VPD, LB_TAG_WIFI_CALIBRATION, printk, lb_cbmem_ref::size, and lb_cbmem_ref::tag.
Referenced by write_coreboot_table().
board_id() - Get the board version
Return: board version on success, BOARD_ID_UNKNOWN on failure/error.
This function is used to get the mainboard version.
Definition at line 191 of file coreboot_table.c.
References UNDEFINED_STRAPPING_ID.
Referenced by lb_board_config().
fw_config_get() - Provide firmware configuration value.
Return 64bit firmware configuration value determined for the system.
Definition at line 194 of file coreboot_table.c.
Referenced by lb_board_config().
Definition at line 422 of file coreboot_table.c.
References get_coreboot_rsdp(), lb_new_record(), and LB_TAG_ACPI_RSDP.
Referenced by write_coreboot_table().
Definition at line 110 of file coreboot_table.c.
References header, lb_new_record(), LB_TAG_CONSOLE, lb_console::size, lb_console::tag, and lb_console::type.
Referenced by uart_fill_lb(), and write_coreboot_table().
Definition at line 143 of file coreboot_table.c.
References lb_gpios::count, count, gpio_table, lb_gpios::gpios, memcpy(), and lb_gpios::size.
Referenced by fill_lb_gpios().
Definition at line 94 of file coreboot_table.c.
References lb_serial::baseaddr, lb_serial::baud, header, lb_serial::input_hertz, lb_new_record(), LB_TAG_SERIAL, lb_serial::regwidth, serial, lb_serial::type, and lb_serial::uart_pci_addr.
Referenced by uart_fill_lb().
Definition at line 381 of file coreboot_table.c.
Referenced by write_coreboot_table().
|
static |
Definition at line 300 of file coreboot_table.c.
References BIOS_INFO, board_id(), config, lb_board_config::fw_config, fw_config_get(), header, lb_new_record(), LB_TAG_BOARD_CONFIG, printk, PRIx64, ram_code(), sku_id(), UNDEFINED_FW_CONFIG, and UNDEFINED_STRAPPING_ID.
Referenced by write_coreboot_table().
|
static |
Definition at line 196 of file coreboot_table.c.
References boot_dev, boot_device_ro(), lb_boot_media_params::boot_media_size, cbfs_get_boot_device(), lb_boot_media_params::cbfs_offset, lb_boot_media_params::cbfs_size, lb_boot_media_params::fmap_offset, get_fmap_flash_offset(), header, lb_new_record(), LB_TAG_BOOT_MEDIA_PARAMS, NULL, cbfs_boot_device::rdev, region_device_offset(), region_device_sz(), lb_boot_media_params::size, and lb_boot_media_params::tag.
Referenced by write_coreboot_table().
Definition at line 55 of file coreboot_table.c.
References header.
Referenced by lb_table_fini().
|
static |
Definition at line 391 of file coreboot_table.c.
References lb_forward::forward, header, lb_new_record(), and LB_TAG_FORWARD.
Referenced by write_coreboot_forwarding_table().
|
static |
Definition at line 121 of file coreboot_table.c.
References lb_framebuffer::bits_per_pixel, CONFIG, fill_lb_framebuffer(), header, height, lb_new_record(), LB_TAG_FRAMEBUFFER, memcpy(), lb_framebuffer::physical_address, set_bootsplash(), lb_framebuffer::size, lb_framebuffer::tag, width, lb_framebuffer::x_resolution, and lb_framebuffer::y_resolution.
Referenced by write_coreboot_table().
Definition at line 153 of file coreboot_table.c.
References ACTIVE_HIGH, BIOS_INFO, fill_lb_gpios(), lb_gpios::gpios, header, lb_new_record(), LB_TAG_GPIO, lb_gpio::name, lb_gpio::polarity, lb_gpio::port, printk, and lb_gpio::value.
Referenced by write_coreboot_table().
Definition at line 62 of file coreboot_table.c.
References header.
Referenced by lb_new_record(), and lb_table_fini().
|
static |
Definition at line 277 of file coreboot_table.c.
References ALIGN_UP, header, lb_new_record(), LB_TAG_MAINBOARD, mainboard_part_number, mainboard_vendor, memcpy(), lb_mainboard::part_number_idx, lb_mainboard::size, lb_mainboard::strings, strlen(), lb_mainboard::tag, and lb_mainboard::vendor_idx.
Referenced by write_coreboot_table().
Definition at line 83 of file coreboot_table.c.
References header, lb_new_record(), LB_TAG_MEMORY, lb_memory::size, and lb_memory::tag.
Referenced by write_coreboot_table().
|
static |
Definition at line 219 of file coreboot_table.c.
References cbmem_find(), CBMEM_ID_MMC_STATUS, lb_mmc_info::early_cmd1_status, header, lb_new_record(), LB_TAG_MMC_INFO, lb_mmc_info::size, and lb_mmc_info::tag.
Referenced by write_coreboot_table().
Definition at line 70 of file coreboot_table.c.
References header, lb_last_record(), LB_TAG_UNUSED, lb_record::size, and lb_record::tag.
Referenced by add_cbmem_pointers(), cbmem_add_records_to_cbtable(), lb_add_acpi_rsdp(), lb_add_console(), lb_add_serial(), lb_arch_add_records(), lb_board(), lb_board_config(), lb_boot_media_params(), lb_forward(), lb_framebuffer(), lb_gpios(), lb_mainboard(), lb_memory(), lb_mmc_info(), lb_record_version_timestamp(), lb_smmstorev2(), lb_spi_flash(), lb_string_platform_blob_version(), lb_strings(), lb_table_add_vbnv_cmos(), lb_tpm_ppi(), soc_add_mtc(), and write_coreboot_table().
Definition at line 372 of file coreboot_table.c.
References coreboot_version_timestamp, header, lb_new_record(), LB_TAG_VERSION_TIMESTAMP, lb_timestamp::size, lb_timestamp::tag, and lb_timestamp::timestamp.
Referenced by write_coreboot_table().
void __weak lb_spi_flash | ( | struct lb_header * | header | ) |
Definition at line 389 of file coreboot_table.c.
Referenced by write_coreboot_table().
Definition at line 193 of file util.c.
Referenced by write_coreboot_table().
Definition at line 348 of file coreboot_table.c.
References ALIGN_UP, ARRAY_SIZE, coreboot_build, coreboot_compile_time, coreboot_extra_version, coreboot_version, header, lb_new_record(), LB_TAG_BUILD, LB_TAG_COMPILE_TIME, LB_TAG_EXTRA_VERSION, LB_TAG_VERSION, memcpy(), lb_string::size, lb_string::string, strlen(), lb_string::tag, and cmos_checksum::tag.
Referenced by write_coreboot_table().
Definition at line 404 of file coreboot_table.c.
References BIOS_DEBUG, compute_ip_checksum(), lb_header::header_checksum, lb_first_record(), lb_last_record(), printk, lb_record::size, lb_header::table_bytes, lb_header::table_checksum, and lb_header::table_entries.
Referenced by write_coreboot_forwarding_table(), and write_coreboot_table().
Definition at line 36 of file coreboot_table.c.
References addr, ALIGN_UP, and header.
Referenced by write_coreboot_forwarding_table(), and write_coreboot_table().
Definition at line 192 of file coreboot_table.c.
Referenced by lb_board_config().
Definition at line 193 of file coreboot_table.c.
Referenced by lb_board_config().
Definition at line 432 of file coreboot_table.c.
References BIOS_DEBUG, lb_forward(), lb_table_fini(), lb_table_init(), and printk.
Referenced by arch_write_tables().
Definition at line 445 of file coreboot_table.c.
References add_cbmem_pointers(), BIOS_DEBUG, BIOS_ERR, bootmem_write_memory_table(), cbfs_map(), cbmem_add_records_to_cbtable(), CONFIG, lb_add_acpi_rsdp(), lb_add_console(), lb_arch_add_records(), lb_board(), lb_board_config(), lb_boot_media_params(), lb_framebuffer(), lb_gpios(), lb_mainboard(), lb_memory(), lb_mmc_info(), lb_new_record(), lb_ramoops(), lb_record_version_timestamp(), lb_smmstorev2(), lb_spi_flash(), lb_string_platform_blob_version(), lb_strings(), lb_table_add_vbnv_cmos(), lb_table_fini(), lb_table_init(), LB_TAG_CONSOLE_EHCI, lb_tpm_ppi(), memcpy(), NULL, printk, cmos_option_table::size, and uart_fill_lb().
Referenced by write_tables().
Definition at line 542 of file coreboot_table.c.
References arch_write_tables(), BIOS_DEBUG, BIOS_ERR, cbmem_add(), CBMEM_ID_CBTABLE, cbmem_list(), COREBOOT_TABLE_SIZE, NULL, printk, and write_coreboot_table().
Referenced by bs_write_tables().