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

Go to the source code of this file.

Data Structures

struct  FWCfgFile
 
struct  FWCfgFiles
 
struct  FwCfgE820Entry
 
struct  FwCfgSmbios
 
struct  FwCfgDmaAccess
 

Macros

#define FW_CFG_FILE_FIRST   0x20
 
#define FW_CFG_FILE_SLOTS   0x10
 
#define FW_CFG_MAX_ENTRY   (FW_CFG_FILE_FIRST+FW_CFG_FILE_SLOTS)
 
#define FW_CFG_WRITE_CHANNEL   0x4000
 
#define FW_CFG_ARCH_LOCAL   0x8000
 
#define FW_CFG_ENTRY_MASK   ~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL)
 
#define FW_CFG_ACPI_TABLES   (FW_CFG_ARCH_LOCAL + 0)
 
#define FW_CFG_SMBIOS_ENTRIES   (FW_CFG_ARCH_LOCAL + 1)
 
#define FW_CFG_IRQ0_OVERRIDE   (FW_CFG_ARCH_LOCAL + 2)
 
#define FW_CFG_E820_TABLE   (FW_CFG_ARCH_LOCAL + 3)
 
#define FW_CFG_HPET   (FW_CFG_ARCH_LOCAL + 4)
 
#define FW_CFG_INVALID   0xffff
 
#define FW_CFG_CTL_SIZE   0x02
 
#define FW_CFG_MAX_FILE_PATH   56
 
#define FW_CFG_SIG_SIZE   4
 
#define SMBIOS_FIELD_ENTRY   0
 
#define SMBIOS_TABLE_ENTRY   1
 
#define FW_CFG_VERSION   0x01
 
#define FW_CFG_VERSION_DMA   0x02
 
#define FW_CFG_DMA_CTL_ERROR   0x01
 
#define FW_CFG_DMA_CTL_READ   0x02
 
#define FW_CFG_DMA_CTL_SKIP   0x04
 
#define FW_CFG_DMA_CTL_SELECT   0x08
 
#define FW_CFG_DMA_CTL_WRITE   0x10
 
#define FW_CFG_DMA_SIGNATURE   0x51454d5520434647ULL /* "QEMU CFG" */
 

Typedefs

typedef struct FWCfgFile FWCfgFile
 
typedef struct FWCfgFiles FWCfgFiles
 
typedef struct FwCfgSmbios FwCfgSmbios
 
typedef struct FwCfgDmaAccess FwCfgDmaAccess
 

Enumerations

enum  fw_cfg_enum {
  FW_CFG_SIGNATURE , FW_CFG_ID , FW_CFG_UUID , FW_CFG_RAM_SIZE ,
  FW_CFG_NOGRAPHIC , FW_CFG_NB_CPUS , FW_CFG_MACHINE_ID , FW_CFG_KERNEL_ADDR ,
  FW_CFG_KERNEL_SIZE , FW_CFG_KERNEL_CMDLINE , FW_CFG_INITRD_ADDR , FW_CFG_INITRD_SIZE ,
  FW_CFG_BOOT_DEVICE , FW_CFG_NUMA , FW_CFG_BOOT_MENU , FW_CFG_MAX_CPUS ,
  FW_CFG_KERNEL_ENTRY , FW_CFG_KERNEL_DATA , FW_CFG_INITRD_DATA , FW_CFG_CMDLINE_ADDR ,
  FW_CFG_CMDLINE_SIZE , FW_CFG_CMDLINE_DATA , FW_CFG_SETUP_ADDR , FW_CFG_SETUP_SIZE ,
  FW_CFG_SETUP_DATA , FW_CFG_FILE_DIR
}
 

Functions

struct FwCfgE820Entry __attribute ((__aligned__(4)))
 

Variables

uint64_t address
 
uint64_t length
 
uint32_t type
 

Macro Definition Documentation

◆ FW_CFG_ACPI_TABLES

#define FW_CFG_ACPI_TABLES   (FW_CFG_ARCH_LOCAL + 0)

Definition at line 50 of file fw_cfg_if.h.

◆ FW_CFG_ARCH_LOCAL

#define FW_CFG_ARCH_LOCAL   0x8000

Definition at line 47 of file fw_cfg_if.h.

◆ FW_CFG_CTL_SIZE

#define FW_CFG_CTL_SIZE   0x02

Definition at line 59 of file fw_cfg_if.h.

◆ FW_CFG_DMA_CTL_ERROR

#define FW_CFG_DMA_CTL_ERROR   0x01

Definition at line 101 of file fw_cfg_if.h.

◆ FW_CFG_DMA_CTL_READ

#define FW_CFG_DMA_CTL_READ   0x02

Definition at line 102 of file fw_cfg_if.h.

◆ FW_CFG_DMA_CTL_SELECT

#define FW_CFG_DMA_CTL_SELECT   0x08

Definition at line 104 of file fw_cfg_if.h.

◆ FW_CFG_DMA_CTL_SKIP

#define FW_CFG_DMA_CTL_SKIP   0x04

Definition at line 103 of file fw_cfg_if.h.

◆ FW_CFG_DMA_CTL_WRITE

#define FW_CFG_DMA_CTL_WRITE   0x10

Definition at line 105 of file fw_cfg_if.h.

◆ FW_CFG_DMA_SIGNATURE

#define FW_CFG_DMA_SIGNATURE   0x51454d5520434647ULL /* "QEMU CFG" */

Definition at line 107 of file fw_cfg_if.h.

◆ FW_CFG_E820_TABLE

#define FW_CFG_E820_TABLE   (FW_CFG_ARCH_LOCAL + 3)

Definition at line 53 of file fw_cfg_if.h.

◆ FW_CFG_ENTRY_MASK

#define FW_CFG_ENTRY_MASK   ~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL)

Definition at line 48 of file fw_cfg_if.h.

◆ FW_CFG_FILE_FIRST

#define FW_CFG_FILE_FIRST   0x20

Definition at line 42 of file fw_cfg_if.h.

◆ FW_CFG_FILE_SLOTS

#define FW_CFG_FILE_SLOTS   0x10

Definition at line 43 of file fw_cfg_if.h.

◆ FW_CFG_HPET

#define FW_CFG_HPET   (FW_CFG_ARCH_LOCAL + 4)

Definition at line 54 of file fw_cfg_if.h.

◆ FW_CFG_INVALID

#define FW_CFG_INVALID   0xffff

Definition at line 56 of file fw_cfg_if.h.

◆ FW_CFG_IRQ0_OVERRIDE

#define FW_CFG_IRQ0_OVERRIDE   (FW_CFG_ARCH_LOCAL + 2)

Definition at line 52 of file fw_cfg_if.h.

◆ FW_CFG_MAX_ENTRY

#define FW_CFG_MAX_ENTRY   (FW_CFG_FILE_FIRST+FW_CFG_FILE_SLOTS)

Definition at line 44 of file fw_cfg_if.h.

◆ FW_CFG_MAX_FILE_PATH

#define FW_CFG_MAX_FILE_PATH   56

Definition at line 62 of file fw_cfg_if.h.

◆ FW_CFG_SIG_SIZE

#define FW_CFG_SIG_SIZE   4

Definition at line 65 of file fw_cfg_if.h.

◆ FW_CFG_SMBIOS_ENTRIES

#define FW_CFG_SMBIOS_ENTRIES   (FW_CFG_ARCH_LOCAL + 1)

Definition at line 51 of file fw_cfg_if.h.

◆ FW_CFG_VERSION

#define FW_CFG_VERSION   0x01

Definition at line 97 of file fw_cfg_if.h.

◆ FW_CFG_VERSION_DMA

#define FW_CFG_VERSION_DMA   0x02

Definition at line 98 of file fw_cfg_if.h.

◆ FW_CFG_WRITE_CHANNEL

#define FW_CFG_WRITE_CHANNEL   0x4000

Definition at line 46 of file fw_cfg_if.h.

◆ SMBIOS_FIELD_ENTRY

#define SMBIOS_FIELD_ENTRY   0

Definition at line 86 of file fw_cfg_if.h.

◆ SMBIOS_TABLE_ENTRY

#define SMBIOS_TABLE_ENTRY   1

Definition at line 87 of file fw_cfg_if.h.

Typedef Documentation

◆ FwCfgDmaAccess

◆ FWCfgFile

typedef struct FWCfgFile FWCfgFile

◆ FWCfgFiles

typedef struct FWCfgFiles FWCfgFiles

◆ FwCfgSmbios

typedef struct FwCfgSmbios FwCfgSmbios

Enumeration Type Documentation

◆ fw_cfg_enum

Enumerator
FW_CFG_SIGNATURE 
FW_CFG_ID 
FW_CFG_UUID 
FW_CFG_RAM_SIZE 
FW_CFG_NOGRAPHIC 
FW_CFG_NB_CPUS 
FW_CFG_MACHINE_ID 
FW_CFG_KERNEL_ADDR 
FW_CFG_KERNEL_SIZE 
FW_CFG_KERNEL_CMDLINE 
FW_CFG_INITRD_ADDR 
FW_CFG_INITRD_SIZE 
FW_CFG_BOOT_DEVICE 
FW_CFG_NUMA 
FW_CFG_BOOT_MENU 
FW_CFG_MAX_CPUS 
FW_CFG_KERNEL_ENTRY 
FW_CFG_KERNEL_DATA 
FW_CFG_INITRD_DATA 
FW_CFG_CMDLINE_ADDR 
FW_CFG_CMDLINE_SIZE 
FW_CFG_CMDLINE_DATA 
FW_CFG_SETUP_ADDR 
FW_CFG_SETUP_SIZE 
FW_CFG_SETUP_DATA 
FW_CFG_FILE_DIR 

Definition at line 13 of file fw_cfg_if.h.

Function Documentation

◆ __attribute()

struct FwCfgE820Entry __attribute ( (__aligned__(4))  )

Variable Documentation

◆ address

◆ length

uint64_t length

Definition at line 1 of file fw_cfg_if.h.

Referenced by acpi_checksum(), acpi_fill_srat(), acpi_soc_get_bert_region(), acpi_write_bert(), acpigen_resource_dword(), acpigen_resource_qword(), acpigen_resource_word(), acpigen_write_rom(), blsp_spi_read(), blsp_spi_write(), bmcinfo_is_valid(), buffer_fn_data(), cea_audio_block(), cea_block(), cea_hdmi_block(), cea_video_block(), compute_ip_checksum(), cpu_pci_domain_read_resources(), create_smbios_type9(), data2str(), display_variable_mtrr(), dptx_auxread_bytes(), dptx_auxread_dpcd(), dptx_auxwrite_bytes(), dptx_auxwrite_dpcd(), dptx_hal_auxread_bytes(), dptx_hal_auxwrite_bytes(), dt_write_int(), eeprom_read_string(), elog_do_shrink(), elog_is_event_valid(), fit_update_memory(), gcov_allocate(), gcov_exit(), gcov_read_string(), gcov_sync(), gcov_write_length(), gcov_write_string(), get_cmos_value(), get_save_state_reg(), hexdump(), iosav_write_sequence(), memset_pae(), pei_data_usb2_port(), platform_i2c_read(), platform_i2c_transfer(), platform_i2c_write(), pmm_handleInt(), pmm_test(), read_bytes(), read_calibration_data_from_flash(), read_data_string(), rk_edp_dpcd_transfer(), safe_write(), sanitize_cmos(), sanity_check_pci_mmconf(), send_heci_packet_dword(), set_save_state_reg(), smb_write_blk(), smbios_carve_table(), smbios_checksum(), smbios_generate_type9_from_devtree(), smbios_write_type9(), smp_add_mpc_entry(), spi_protection(), spi_sdcard_do_command_help(), tas5825m_write_block_at(), tlcl_read(), tlcl_write(), tpm2_process_command(), twsi_read_data(), twsi_write_data(), vpd_decode_len(), write_bytes(), x86_exception(), and xeonsp_pci_domain_read_resources().

◆ type

uint32_t type

Definition at line 2 of file fw_cfg_if.h.