![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | lb_header |
struct | lb_record |
struct | lb_memory_range |
struct | lb_memory |
struct | lb_hwrpb |
struct | lb_mainboard |
struct | lb_string |
struct | lb_timestamp |
struct | lb_serial |
struct | lb_console |
struct | lb_forward |
struct | lb_framebuffer |
struct | lb_gpio |
struct | lb_gpios |
struct | lb_range |
struct | lb_cbmem_ref |
struct | lb_x86_rom_mtrr |
struct | flash_mmap_window |
struct | lb_spi_flash |
struct | lb_boot_media_params |
struct | lb_cbmem_entry |
struct | lb_tsc_info |
struct | mac_address |
struct | lb_mmc_info |
struct | type_c_port_info |
struct | type_c_info |
struct | lb_macs |
struct | lb_board_config |
struct | cmos_option_table |
struct | cmos_entries |
struct | cmos_enums |
struct | cmos_defaults |
struct | cmos_checksum |
struct | lb_smmstorev2 |
struct | lb_tpm_physical_presence |
struct | lb_acpi_rsdp |
Macros | |
#define | LB_MEM_RAM 1 /* Memory anyone can use */ |
#define | LB_MEM_RESERVED 2 /* Don't use this memory region */ |
#define | LB_MEM_ACPI 3 /* ACPI Tables */ |
#define | LB_MEM_NVS 4 /* ACPI NVS Memory */ |
#define | LB_MEM_UNUSABLE 5 /* Unusable address space */ |
#define | LB_MEM_VENDOR_RSVD 6 /* Vendor Reserved */ |
#define | LB_MEM_TABLE 16 /* Ram configuration tables are kept in */ |
#define | LB_SERIAL_TYPE_IO_MAPPED 1 |
#define | LB_SERIAL_TYPE_MEMORY_MAPPED 2 |
#define | LB_TAG_CONSOLE_SERIAL8250 0 |
#define | LB_TAG_CONSOLE_VGA 1 |
#define | LB_TAG_CONSOLE_BTEXT 2 |
#define | LB_TAG_CONSOLE_LOGBUF 3 |
#define | LB_TAG_CONSOLE_SROM 4 |
#define | LB_TAG_CONSOLE_EHCI 5 |
#define | LB_TAG_CONSOLE_SERIAL8250MEM 6 |
#define | ACTIVE_LOW 0 |
#define | ACTIVE_HIGH 1 |
#define | GPIO_MAX_NAME_LENGTH 16 |
#define | MAX_SERIALNO_LENGTH 32 |
#define | CMOS_MAX_NAME_LENGTH 32 |
#define | CMOS_MAX_TEXT_LENGTH 32 |
#define | CMOS_IMAGE_BUFFER_SIZE 256 |
#define | CHECKSUM_NONE 0 |
#define | CHECKSUM_PCBIOS 1 |
Functions | |
typedef | __aligned (4) uint64_t lb_uint64_t |
void | lb_ramoops (struct lb_header *header) |
#define ACTIVE_HIGH 1 |
Definition at line 296 of file coreboot_tables.h.
#define ACTIVE_LOW 0 |
Definition at line 295 of file coreboot_tables.h.
#define CHECKSUM_NONE 0 |
Definition at line 513 of file coreboot_tables.h.
#define CHECKSUM_PCBIOS 1 |
Definition at line 514 of file coreboot_tables.h.
#define CMOS_IMAGE_BUFFER_SIZE 256 |
Definition at line 499 of file coreboot_tables.h.
#define CMOS_MAX_NAME_LENGTH 32 |
Definition at line 472 of file coreboot_tables.h.
#define CMOS_MAX_TEXT_LENGTH 32 |
Definition at line 486 of file coreboot_tables.h.
#define GPIO_MAX_NAME_LENGTH 16 |
Definition at line 298 of file coreboot_tables.h.
#define LB_MEM_ACPI 3 /* ACPI Tables */ |
Definition at line 134 of file coreboot_tables.h.
#define LB_MEM_NVS 4 /* ACPI NVS Memory */ |
Definition at line 135 of file coreboot_tables.h.
#define LB_MEM_RAM 1 /* Memory anyone can use */ |
Definition at line 132 of file coreboot_tables.h.
Definition at line 133 of file coreboot_tables.h.
#define LB_MEM_TABLE 16 /* Ram configuration tables are kept in */ |
Definition at line 138 of file coreboot_tables.h.
#define LB_MEM_UNUSABLE 5 /* Unusable address space */ |
Definition at line 136 of file coreboot_tables.h.
#define LB_MEM_VENDOR_RSVD 6 /* Vendor Reserved */ |
Definition at line 137 of file coreboot_tables.h.
#define LB_SERIAL_TYPE_IO_MAPPED 1 |
Definition at line 178 of file coreboot_tables.h.
#define LB_SERIAL_TYPE_MEMORY_MAPPED 2 |
Definition at line 179 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_BTEXT 2 |
Definition at line 209 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_EHCI 5 |
Definition at line 212 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_LOGBUF 3 |
Definition at line 210 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_SERIAL8250 0 |
Definition at line 207 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_SERIAL8250MEM 6 |
Definition at line 213 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_SROM 4 |
Definition at line 211 of file coreboot_tables.h.
#define LB_TAG_CONSOLE_VGA 1 |
Definition at line 208 of file coreboot_tables.h.
#define MAX_SERIALNO_LENGTH 32 |
Definition at line 448 of file coreboot_tables.h.
anonymous enum |
Definition at line 36 of file coreboot_tables.h.
enum lb_fb_orientation |
coreboot framebuffer
The coreboot framebuffer uses a very common format usually referred to as "linear framebuffer":
The first pixel of the framebuffer is the upper left corner, its address is given by physical_address
.
Each pixel is represented by exactly bits_per_pixel
bits. If a pixel (or a color component therein) doesn't fill a whole byte or doesn't start on a byte boundary, it starts at the least signifi- cant bit not occupied by the previous pixel (or color component). Pixels (or color components) that span multiple bytes always start in the byte with the lowest address.
The framebuffer provides a visible rectangle of x_resolution
* y_resolution
pixels. However, the lines always start at a byte boundary given by bytes_per_line
, which may leave a gap after each line of pixels. Thus, the data for a pixel with the coordi- nates (x, y) from the upper left corner always starts at
physical_address + y * bytes_per_line + x * bits_per_pixel / 8
bytes_per_line
is always big enough to hold x_resolution
pixels. It can, however, be arbitrarily higher (e.g. to fulfill hardware constraints or for optimization purposes). The size of the framebuffer is always y_resolution * bytes_per_line
.
The coreboot framebuffer only supports RGB color formats. The position and size of each color component are specified indivi- dually by <color>_mask_pos and <color>_mask_size. To allow byte or word aligned pixels, a fourth (padding) component may be specified by reserved_mask_pos
and reserved_mask_size
.
Software utilizing the coreboot framebuffer shall consider all fields described above. It may, however, only implement a subset of the possible color formats.
Enumerator | |
---|---|
LB_FB_ORIENTATION_NORMAL | |
LB_FB_ORIENTATION_BOTTOM_UP | |
LB_FB_ORIENTATION_LEFT_UP | |
LB_FB_ORIENTATION_RIGHT_UP |
Definition at line 265 of file coreboot_tables.h.
Enumerator | |
---|---|
LB_TPM_VERSION_UNSPEC | |
LB_TPM_VERSION_TPM_VERSION_1_2 | |
LB_TPM_VERSION_TPM_VERSION_2 |
Definition at line 533 of file coreboot_tables.h.
enum type_c_orientation |
Enumerator | |
---|---|
TYPEC_ORIENTATION_NONE | |
TYPEC_ORIENTATION_NORMAL | |
TYPEC_ORIENTATION_REVERSE |
Definition at line 410 of file coreboot_tables.h.
typedef __aligned | ( | 4 | ) |