coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <commonlib/helpers.h>
#include <device/device.h>
#include <uuid.h>
#include <cper.h>
#include <romstage_handoff.h>
#include <types.h>
Go to the source code of this file.
Variables | |
struct acpi_crat_header | __packed |
#define ACPI_ACCESS_SIZE_UNDEFINED 0 /* Undefined (legacy reasons) */ |
#define ACPI_ADDRESS_SPACE_FIXED 0x7f /* Functional fixed hardware */ |
#define ACPI_ADDRESS_SPACE_GENERAL_PURPOSE_IO 8 /* GeneralPurposeIO */ |
#define ACPI_ADDRESS_SPACE_GENERIC_SERIAL_BUS 9 /* GenericSerialBus */ |
#define ACPI_ADDRESS_SPACE_PCC 0x0A /* Platform Comm. Channel */ |
#define ACPI_ADDRESS_SPACE_PCI_BAR_TARGET 6 /* PciBarTarget */ |
#define ACPI_DSDT_REV_2 0x02 /* DSDT revision: ACPI v2.0 and greater */ |
#define ACPI_EINJ_DEFAULT_CAP |
#define ACPI_FADT_LEGACY_FREE 0x00 /* No legacy devices (including 8042) */ |
#define ACPI_FADT_MINOR_VERSION_0 0 /* coreboot currently use this version */ |
#define ACPI_FFIXEDHW_CLASS_MWAIT 2 /* MWAIT Native C-state */ |
#define ACPI_FFIXEDHW_FLAG_BM_STS 2 /* BM_STS avoidance bit */ |
#define ACPI_FFIXEDHW_FLAG_HW_COORD 1 /* Hardware Coordination bit */ |
#define ACPI_REG_UNSUPPORTED (acpi_addr_t){0} |
#define ACPI_TABLE_CREATOR "COREBOOT" /* Must be exactly 8 bytes long! */ |
#define COREBOOT_ACPI_ID "BOOT" /* ACPI ID for coreboot HIDs */ |
#define EINJ_REG_IO | ( | ) |
#define EINJ_REG_MEMORY | ( | address | ) |
#define GENERIC_ERR_STS_ENTRY_COUNT_MASK |
typedef struct acpi_gen_regaddr1 acpi_addr64_t |
typedef struct acpi_gen_regaddr acpi_addr_t |
typedef struct acpi_bert acpi_bert_t |
typedef struct acpi_cstate acpi_cstate_t |
typedef struct acpi_dbg2_device acpi_dbg2_device_t |
typedef struct acpi_dbg2_header acpi_dbg2_header_t |
typedef struct acpi_dmar acpi_dmar_t |
typedef struct acpi_ecdt acpi_ecdt_t |
typedef struct acpi_einj_action_table acpi_einj_action_table_t |
typedef struct acpi_einj_smi acpi_einj_smi_t |
typedef struct acpi_einj acpi_einj_t |
typedef struct acpi_einj_trigger_table acpi_einj_trigger_table_t |
typedef struct acpi_facs acpi_facs_t |
typedef struct acpi_fadt acpi_fadt_t |
typedef struct acpi_generic_error_status acpi_generic_error_status_t |
typedef struct acpi_table_header acpi_header_t |
typedef struct acpi_hest_esd acpi_hest_esd_t |
typedef struct acpi_hest_generic_data acpi_hest_generic_data_t |
typedef struct acpi_hest_generic_data_v300 acpi_hest_generic_data_v300_t |
typedef struct acpi_hest_hen acpi_hest_hen_t |
typedef struct acpi_hest acpi_hest_t |
typedef struct acpi_hmat_mpda acpi_hmat_mpda_t |
typedef struct acpi_hmat_msci acpi_hmat_msci_t |
typedef struct acpi_hmat_sllbi acpi_hmat_sllbi_t |
typedef struct acpi_hmat acpi_hmat_t |
typedef struct acpi_hpet acpi_hpet_t |
typedef struct acpi_injection_header acpi_injection_header_t |
typedef struct acpi_ivrs_info acpi_ivrs_info_t |
typedef struct acpi_ivrs_ivhd_11 acpi_ivrs_ivhd11_t |
typedef struct acpi_ivrs_ivhd acpi_ivrs_ivhd_t |
typedef struct acpi_ivrs acpi_ivrs_t |
typedef struct acpi_lpi_flags acpi_lpi_desc_flags_t |
typedef struct acpi_lpi_desc_hdr acpi_lpi_desc_hdr_t |
typedef struct acpi_lpi_desc_ncst acpi_lpi_desc_ncst_t |
typedef struct acpi_lpit acpi_lpit_t |
typedef struct acpi_madt_ioapic acpi_madt_ioapic_t |
typedef struct acpi_madt_irqoverride acpi_madt_irqoverride_t |
typedef struct acpi_madt_lapic_nmi acpi_madt_lapic_nmi_t |
typedef struct acpi_madt_lapic acpi_madt_lapic_t |
typedef struct acpi_madt_lx2apic_nmi acpi_madt_lx2apic_nmi_t |
typedef struct acpi_madt_lx2apic acpi_madt_lx2apic_t |
typedef struct acpi_madt acpi_madt_t |
typedef struct acpi_mcfg_mmconfig acpi_mcfg_mmconfig_t |
typedef struct acpi_mcfg acpi_mcfg_t |
typedef struct acpi_rsdp acpi_rsdp_t |
typedef struct acpi_rsdt acpi_rsdt_t |
typedef struct acpi_slit acpi_slit_t |
typedef struct acpi_srat_gia acpi_srat_gia_t |
typedef struct acpi_srat_lapic acpi_srat_lapic_t |
typedef struct acpi_srat_mem acpi_srat_mem_t |
typedef struct acpi_srat acpi_srat_t |
typedef struct acpi_tcpa acpi_tcpa_t |
typedef struct acpi_tpm2 acpi_tpm2_t |
typedef struct acpi_tstate acpi_tstate_t |
typedef struct acpi_vfct_image_hdr acpi_vfct_image_hdr_t |
typedef struct acpi_vfct acpi_vfct_t |
typedef struct acpi_xsdt acpi_xsdt_t |
typedef struct dev_scope dev_scope_t |
typedef struct dmar_andd_entry dmar_andd_entry_t |
typedef struct dmar_atsr_entry dmar_atsr_entry_t |
typedef struct dmar_entry dmar_entry_t |
typedef struct dmar_rhsa_entry dmar_rhsa_entry_t |
typedef struct dmar_rmrr_entry dmar_rmrr_entry_t |
typedef struct dmar_satc_entry dmar_satc_entry_t |
typedef struct ivhd11_iommu_attr ivhd11_iommu_attr_t |
typedef struct set_error_type set_error_type_t |
anonymous enum |
enum acpi_apic_types |
enum acpi_lpi_desc_type |
enum acpi_lpi_state_flags |
enum acpi_tables |
enum acpi_upc_type |
enum coreboot_acpi_ids |
enum dev_scope_type |
enum dmar_flags |
enum dmar_type |
void acpi_add_table | ( | acpi_rsdp_t * | rsdp, |
void * | table | ||
) |
Add an ACPI table to the RSDT (and XSDT) structure, recalculate length and checksum.
Definition at line 49 of file acpi.c.
References acpi_checksum(), ARRAY_SIZE, BIOS_DEBUG, BIOS_ERR, acpi_table_header::checksum, acpi_rsdt::entry, acpi_xsdt::entry, acpi_rsdt::header, acpi_xsdt::header, acpi_table_header::length, NULL, printk, acpi_rsdp::rsdt_address, and acpi_rsdp::xsdt_address.
Referenced by acpi_write_dbg2_pci_uart(), acpi_write_hpet(), add_agesa_fsp_acpi_table(), agesa_write_acpi_tables(), hest_create(), mainboard_write_acpi_tables(), northbridge_write_acpi_tables(), sa_write_acpi_tables(), southbridge_write_acpi_tables(), southcluster_write_acpi_tables(), systemagent_write_acpi_tables(), and write_acpi_tables().
Definition at line 1435 of file acpi.h.
References ALIGN_UP.
Referenced by acpi_write_dbg2_pci_uart(), add_agesa_fsp_acpi_table(), mainboard_write_acpi_tables(), northbridge_write_acpi_tables(), sa_write_acpi_tables(), southbridge_write_acpi_tables(), southcluster_write_acpi_tables(), systemagent_write_acpi_tables(), and write_acpi_tables().
Definition at line 35 of file acpi.c.
References length.
Referenced by acpi_add_table(), acpi_create_crat(), acpi_create_dbg2(), acpi_create_dmar(), acpi_create_ecdt(), acpi_create_einj(), acpi_create_fadt(), acpi_create_hmat(), acpi_create_hpet(), acpi_create_ipmi(), acpi_create_ivrs(), acpi_create_lpit(), acpi_create_madt(), acpi_create_mcfg(), acpi_create_serialio_ssdt(), acpi_create_slit(), acpi_create_srat(), acpi_create_ssdt_generator(), acpi_create_tcpa(), acpi_create_tpm2(), acpi_create_vfct(), acpi_write_bert(), acpi_write_hest(), acpi_write_rsdp(), acpi_write_rsdt(), acpi_write_xsdt(), fw_cfg_acpi_tables(), nhlt_serialize_oem_overrides(), patch_ssdt_processor_scope(), valid_rsdp(), and write_acpi_tables().
void acpi_create_crat | ( | struct acpi_crat_header * | crat, |
unsigned long(*)(struct acpi_crat_header *crat_struct, unsigned long current) | acpi_fill_crat | ||
) |
Definition at line 1112 of file acpi.c.
References acpi_checksum(), acpi_fill_crat(), ACPI_TABLE_CREATOR, asl_revision, ASLC, CRAT, get_acpi_table_revision(), header, acpi_crat_header::header, memcpy(), memset(), and OEM_ID.
Referenced by agesa_write_acpi_tables().
void acpi_create_dbg2 | ( | acpi_dbg2_header_t * | dbg2_header, |
int | port_type, | ||
int | port_subtype, | ||
acpi_addr_t * | address, | ||
uint32_t | address_size, | ||
const char * | device_path | ||
) |
Definition at line 1160 of file acpi.c.
References acpi_checksum(), ACPI_TABLE_CREATOR, address, asl_revision, ASLC, DBG2, device, acpi_dbg2_header::devices_count, acpi_dbg2_header::devices_offset, get_acpi_table_revision(), header, acpi_dbg2_header::header, memcpy(), memset(), OEM_ID, strlen(), and strncpy().
Referenced by acpi_write_dbg2_pci_uart().
void acpi_create_dmar | ( | acpi_dmar_t * | dmar, |
enum dmar_flags | flags, | ||
unsigned long(*)(unsigned long) | acpi_fill_dmar | ||
) |
Definition at line 607 of file acpi.c.
References acpi_checksum(), acpi_fill_dmar(), ACPI_TABLE_CREATOR, asl_revision, ASLC, cpu_phys_address_size(), DMAR, get_acpi_table_revision(), header, acpi_dmar::header, memcpy(), memset(), and OEM_ID.
Referenced by northbridge_write_acpi_tables(), sa_write_acpi_tables(), and systemagent_write_acpi_tables().
unsigned long acpi_create_dmar_andd | ( | unsigned long | current, |
u8 | device_number, | ||
const char * | device_name | ||
) |
Definition at line 692 of file acpi.c.
References dmar_andd_entry::device_name, dmar_andd_entry::device_number, DMAR_ANDD, dmar_andd_entry::length, memcpy(), memset(), strlen(), and dmar_andd_entry::type.
Definition at line 666 of file acpi.c.
References DMAR_ATSR, dmar_atsr_entry::flags, dmar_atsr_entry::length, memset(), dmar_atsr_entry::segment, and dmar_atsr_entry::type.
Referenced by acpi_create_dmar_ds_pci_br_for_port().
Definition at line 638 of file acpi.c.
References dmar_entry::bar, DMAR_DRHD, dmar_entry::flags, dmar_entry::length, memset(), dmar_entry::segment, and dmar_entry::type.
Referenced by acpi_create_drhd(), acpi_fill_dmar(), and soc_fill_dmar().
unsigned long acpi_create_dmar_ds_ioapic | ( | unsigned long | current, |
u8 | enumeration_id, | ||
u8 | bus, | ||
u8 | dev, | ||
u8 | fn | ||
) |
Definition at line 775 of file acpi.c.
References acpi_create_dmar_ds(), and SCOPE_IOAPIC.
Referenced by acpi_create_drhd(), acpi_fill_dmar(), and soc_fill_dmar().
unsigned long acpi_create_dmar_ds_msi_hpet | ( | unsigned long | current, |
u8 | enumeration_id, | ||
u8 | bus, | ||
u8 | dev, | ||
u8 | fn | ||
) |
Definition at line 782 of file acpi.c.
References acpi_create_dmar_ds(), and SCOPE_MSI_HPET.
Referenced by acpi_create_drhd(), acpi_fill_dmar(), and soc_fill_dmar().
Definition at line 768 of file acpi.c.
References acpi_create_dmar_ds(), and SCOPE_PCI_ENDPOINT.
Referenced by acpi_create_drhd(), acpi_create_rmrr(), acpi_fill_dmar(), and soc_fill_dmar().
Definition at line 761 of file acpi.c.
References acpi_create_dmar_ds(), and SCOPE_PCI_SUB.
Referenced by acpi_create_dmar_ds_pci_br_for_port(), and soc_fill_dmar().
Definition at line 679 of file acpi.c.
References dmar_rhsa_entry::base_address, DMAR_RHSA, dmar_rhsa_entry::length, memset(), dmar_rhsa_entry::proximity_domain, and dmar_rhsa_entry::type.
Referenced by acpi_create_rhsa().
Definition at line 652 of file acpi.c.
References dmar_rmrr_entry::bar, DMAR_RMRR, dmar_rmrr_entry::length, dmar_rmrr_entry::limit, memset(), dmar_rmrr_entry::segment, and dmar_rmrr_entry::type.
Referenced by acpi_create_igfx_rmrr(), acpi_create_rmrr(), acpi_fill_dmar(), and soc_fill_dmar().
Definition at line 706 of file acpi.c.
References DMAR_SATC, dmar_satc_entry::flags, dmar_satc_entry::length, memset(), dmar_satc_entry::segment_number, and dmar_satc_entry::type.
void acpi_create_einj | ( | acpi_einj_t * | einj, |
uintptr_t | addr, | ||
u8 | actions | ||
) |
Definition at line 863 of file acpi.c.
References acpi_gen_regaddr1::access_size, ACPI_ACCESS_SIZE_QWORD_ACCESS, ACPI_ADDRESS_SPACE_MEMORY, acpi_checksum(), ACPI_EINJ_DEFAULT_CAP, ACPI_TABLE_CREATOR, acpi_einj_action_table::action, ACTION_COUNT, acpi_einj::action_table, addr, acpi_gen_regaddr1::addr, asl_revision, ASLC, BEGIN_INJECT_OP, BIOS_DEBUG, acpi_gen_regaddr1::bit_offset, acpi_gen_regaddr1::bit_width, CHECK_BUSY_STATUS, acpi_einj_smi::cmd_sts, acpi_injection_header::einj_header_size, EINJ_REG_IO, EINJ_REG_MEMORY, END_INJECT_OP, acpi_injection_header::entry_count, acpi_einj_trigger_table::entry_count, acpi_einj_smi::err_inj_cap, acpi_einj_smi::err_inject, EXECUTE_INJECT_OP, FLAG_IGNORE, FLAG_PRESERVE, acpi_einj_action_table::flags, GET_CMD_STATUS, GET_ERROR_TYPE, GET_TRIGGER_ACTION_TABLE, header, acpi_einj::header, acpi_einj_trigger_table::header_size, acpi_einj::inj_header, acpi_einj_action_table::instruction, acpi_einj_action_table::mask, memcpy(), memset(), NO_OP, OEM_ID, acpi_einj_smi::op_state, acpi_einj_smi::op_status, printk, READ_REGISTER, READ_REGISTER_VALUE, acpi_einj_action_table::reg, acpi_einj_trigger_table::revision, SET_ERROR_TYPE, SET_ERROR_TYPE_WITH_ADDRESS, acpi_einj_smi::setaddrtable, acpi_gen_regaddr1::space_id, acpi_einj_trigger_table::table_size, acpi_einj_trigger_table::trigger_action, acpi_einj_smi::trigger_action_table, TRIGGER_ERROR, acpi_einj_action_table::value, WRITE_REGISTER, and WRITE_REGISTER_VALUE.
void acpi_create_facs | ( | acpi_facs_t * | facs | ) |
Definition at line 1281 of file acpi.c.
References FACS, acpi_facs::firmware_waking_vector, acpi_facs::flags, get_acpi_table_revision(), acpi_facs::global_lock, acpi_facs::hardware_signature, acpi_facs::length, memcpy(), memset(), acpi_facs::signature, acpi_facs::version, acpi_facs::x_firmware_waking_vector_h, and acpi_facs::x_firmware_waking_vector_l.
Referenced by write_acpi_tables().
void acpi_create_fadt | ( | acpi_fadt_t * | fadt, |
acpi_facs_t * | facs, | ||
void * | dsdt | ||
) |
Definition at line 1486 of file acpi.c.
References acpi_checksum(), acpi_fill_fadt(), acpi_get_preferred_pm_profile(), ACPI_TABLE_CREATOR, arch_fill_fadt(), asl_revision, ASLC, acpi_fadt::century, CONFIG, acpi_fadt::dsdt, FADT, acpi_fadt::FADT_MinorVersion, acpi_fadt::firmware_ctrl, get_acpi_fadt_minor_version(), get_acpi_table_revision(), header, acpi_fadt::header, mainboard_fill_fadt(), memcpy(), memset(), OEM_ID, acpi_fadt::preferred_pm_profile, acpi_fadt::reserved, RTC_CLK_ALTCENTURY, soc_fill_fadt(), acpi_fadt::x_dsdt_h, acpi_fadt::x_dsdt_l, acpi_fadt::x_firmware_ctl_h, and acpi_fadt::x_firmware_ctl_l.
Referenced by write_acpi_tables().
unsigned long acpi_create_hest_error_source | ( | acpi_hest_t * | hest, |
acpi_hest_esd_t * | esd, | ||
u16 | type, | ||
void * | data, | ||
u16 | len | ||
) |
Definition at line 1372 of file acpi.c.
References BIOS_DEBUG, acpi_hest_hen::conf_we, acpi_hest_esd::enabled, acpi_hest::error_source_count, acpi_hest_hen::error_threshold_val, acpi_hest_hen::error_threshold_win, acpi_hest_esd::flags, header, acpi_hest::header, acpi_hest_hen::length, acpi_hest_esd::max_section_per_record, memcpy(), memset(), acpi_hest_hen::poll_interval, acpi_hest_esd::prealloc_erecords, printk, acpi_hest_esd::source_id, acpi_hest_hen::sw2poll_threshold_val, acpi_hest_hen::sw2poll_threshold_win, acpi_hest_esd::type, acpi_hest_hen::type, type, and acpi_hest_hen::vector.
Referenced by acpi_fill_hest().
void acpi_create_hmat | ( | acpi_hmat_t * | hmat, |
unsigned long(*)(unsigned long current) | acpi_fill_hmat | ||
) |
Definition at line 579 of file acpi.c.
References acpi_checksum(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_hmat::header, HMAT, memcpy(), memset(), and OEM_ID.
int acpi_create_hmat_mpda | ( | acpi_hmat_mpda_t * | mpda, |
u32 | initiator, | ||
u32 | memory | ||
) |
Definition at line 562 of file acpi.c.
References acpi_hmat_mpda::flags, acpi_hmat_mpda::length, memory, memset(), acpi_hmat_mpda::proximity_domain_initiator, acpi_hmat_mpda::proximity_domain_memory, and acpi_hmat_mpda::type.
void acpi_create_hpet | ( | acpi_hpet_t * | hpet | ) |
Definition at line 819 of file acpi.c.
References ACPI_ADDRESS_SPACE_MEMORY, acpi_checksum(), ACPI_TABLE_CREATOR, addr, acpi_hpet::addr, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_hpet::header, HPET, HPET_BASE_ADDRESS, acpi_hpet::id, memcpy(), memset(), acpi_hpet::min_tick, acpi_hpet::number, OEM_ID, and read32p().
Referenced by acpi_write_hpet().
void acpi_create_ipmi | ( | const struct device * | device, |
struct acpi_spmi * | spmi, | ||
const u16 | ipmi_revision, | ||
const acpi_addr_t * | addr, | ||
const enum acpi_ipmi_interface_type | type, | ||
const s8 | gpe_interrupt, | ||
const u32 | apic_interrupt, | ||
const u32 | uid | ||
) |
Definition at line 1032 of file acpi.c.
References acpi_checksum(), ACPI_IPMI_INT_TYPE_APIC, ACPI_IPMI_INT_TYPE_SCI, ACPI_IPMI_PCI_DEVICE_FLAG, ACPI_TABLE_CREATOR, addr, asl_revision, ASLC, acpi_spmi::base_address, device::bus, pci_path::devfn, DEVICE_PATH_PCI, get_acpi_table_revision(), acpi_spmi::global_system_interrupt, acpi_spmi::gpe, header, acpi_spmi::header, acpi_spmi::interface_type, acpi_spmi::interrupt_type, IPMI_INTERFACE_SSIF, memcpy(), memset(), OEM_ID, device::path, device_path::pci, acpi_spmi::pci_bus, acpi_spmi::pci_device, acpi_spmi::pci_device_flag, acpi_spmi::pci_function, acpi_spmi::reserved, bus::secondary, acpi_spmi::specification_revision, SPMI, device_path::type, type, and acpi_spmi::uid.
void acpi_create_ivrs | ( | acpi_ivrs_t * | ivrs, |
unsigned long(*)(acpi_ivrs_t *ivrs_struct, unsigned long current) | acpi_fill_ivrs | ||
) |
Definition at line 1083 of file acpi.c.
References acpi_checksum(), acpi_fill_ivrs(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_ivrs::header, IVRS, memcpy(), memset(), and OEM_ID.
Referenced by agesa_write_acpi_tables().
unsigned long acpi_create_lpi_desc_ncst | ( | acpi_lpi_desc_ncst_t * | lpi_desc, |
uint16_t | uid | ||
) |
Definition at line 1559 of file acpi.c.
References ACPI_LPI_DESC_TYPE_NATIVE_CSTATE, acpi_lpi_desc_ncst::header, acpi_lpi_desc_hdr::length, memset(), acpi_lpi_desc_hdr::type, and acpi_lpi_desc_hdr::uid.
Referenced by acpi_fill_lpit().
void acpi_create_lpit | ( | acpi_lpit_t * | lpit | ) |
Definition at line 1531 of file acpi.c.
References acpi_checksum(), acpi_fill_lpit(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_lpit::header, LPIT, memcpy(), memset(), and OEM_ID.
Referenced by write_acpi_tables().
void acpi_create_madt | ( | acpi_madt_t * | madt | ) |
Definition at line 227 of file acpi.c.
References acpi_checksum(), acpi_fill_madt(), ACPI_TABLE_CREATOR, asl_revision, ASLC, CONFIG, cpu_get_lapic_addr(), acpi_madt::flags, get_acpi_table_revision(), header, acpi_madt::header, acpi_madt::lapic_addr, MADT, memcpy(), memset(), and OEM_ID.
Referenced by write_acpi_tables().
int acpi_create_madt_ioapic | ( | acpi_madt_ioapic_t * | ioapic, |
u8 | id, | ||
u32 | addr, | ||
u32 | gsi_base | ||
) |
Definition at line 174 of file acpi.c.
References addr, acpi_madt_ioapic::gsi_base, IO_APIC, acpi_madt_ioapic::ioapic_addr, acpi_madt_ioapic::ioapic_id, acpi_madt_ioapic::length, acpi_madt_ioapic::reserved, and acpi_madt_ioapic::type.
Referenced by acpi_fill_madt().
int acpi_create_madt_irqoverride | ( | acpi_madt_irqoverride_t * | irqoverride, |
u8 | bus, | ||
u8 | source, | ||
u32 | gsirq, | ||
u16 | flags | ||
) |
Definition at line 187 of file acpi.c.
References acpi_madt_irqoverride::bus, device::bus, acpi_madt_irqoverride::flags, acpi_madt_irqoverride::gsirq, IRQ_SOURCE_OVERRIDE, acpi_madt_irqoverride::length, acpi_madt_irqoverride::source, and acpi_madt_irqoverride::type.
Referenced by acpi_fill_madt(), acpi_fill_madt_irqoverride(), and acpi_madt_irq_overrides().
int acpi_create_madt_lapic | ( | acpi_madt_lapic_t * | lapic, |
u8 | cpu, | ||
u8 | apic | ||
) |
Definition at line 121 of file acpi.c.
References acpi_madt_lapic::apic_id, acpi_madt_lapic::flags, acpi_madt_lapic::length, LOCAL_APIC, acpi_madt_lapic::processor_id, and acpi_madt_lapic::type.
Referenced by acpi_create_madt_lapics(), acpi_fill_madt(), and xeonsp_acpi_create_madt_lapics().
int acpi_create_madt_lapic_nmi | ( | acpi_madt_lapic_nmi_t * | lapic_nmi, |
u8 | cpu, | ||
u16 | flags, | ||
u8 | lint | ||
) |
Definition at line 200 of file acpi.c.
References acpi_madt_lapic_nmi::flags, acpi_madt_lapic_nmi::length, acpi_madt_lapic_nmi::lint, LOCAL_APIC_NMI, acpi_madt_lapic_nmi::processor_id, and acpi_madt_lapic_nmi::type.
Referenced by acpi_fill_madt(), and acpi_madt_irq_overrides().
Definition at line 144 of file acpi.c.
References acpi_create_madt_lapic(), acpi_create_madt_lx2apic(), all_devices, device_path::apic, apic_path::apic_id, ARRAY_SIZE, bubblesort(), device::bus, bus::dev, DEVICE_PATH_APIC, DEVICE_PATH_CPU_CLUSTER, device::enabled, device::next, NUM_ASCENDING, device::path, and device_path::type.
Referenced by acpi_fill_madt().
int acpi_create_madt_lx2apic | ( | acpi_madt_lx2apic_t * | lapic, |
u32 | cpu, | ||
u32 | apic | ||
) |
Definition at line 132 of file acpi.c.
References acpi_madt_lx2apic::flags, acpi_madt_lx2apic::length, LOCAL_X2APIC, acpi_madt_lx2apic::processor_id, acpi_madt_lx2apic::reserved, acpi_madt_lx2apic::type, and acpi_madt_lx2apic::x2apic_id.
Referenced by acpi_create_madt_lapics().
int acpi_create_madt_lx2apic_nmi | ( | acpi_madt_lx2apic_nmi_t * | lapic_nmi, |
u32 | cpu, | ||
u16 | flags, | ||
u8 | lint | ||
) |
Definition at line 212 of file acpi.c.
References acpi_madt_lx2apic_nmi::flags, acpi_madt_lx2apic_nmi::length, acpi_madt_lx2apic_nmi::lint, LOCAL_X2APIC_NMI, acpi_madt_lx2apic_nmi::processor_id, acpi_madt_lx2apic_nmi::reserved, and acpi_madt_lx2apic_nmi::type.
Referenced by acpi_madt_irq_overrides().
void acpi_create_mcfg | ( | acpi_mcfg_t * | mcfg | ) |
Definition at line 268 of file acpi.c.
References acpi_checksum(), acpi_fill_mcfg(), ACPI_TABLE_CREATOR, asl_revision, ASLC, CONFIG, get_acpi_table_revision(), header, acpi_mcfg::header, MCFG, memcpy(), memset(), and OEM_ID.
Referenced by write_acpi_tables().
int acpi_create_mcfg_mmconfig | ( | acpi_mcfg_mmconfig_t * | mmconfig, |
u32 | base, | ||
u16 | seg_nr, | ||
u8 | start, | ||
u8 | end | ||
) |
Definition at line 108 of file acpi.c.
References base, acpi_mcfg_mmconfig::base_address, acpi_mcfg_mmconfig::base_reserved, acpi_mcfg_mmconfig::end_bus_number, memset(), acpi_mcfg_mmconfig::pci_segment_group_number, and acpi_mcfg_mmconfig::start_bus_number.
Referenced by acpi_fill_mcfg().
void acpi_create_slit | ( | acpi_slit_t * | slit, |
unsigned long(*)(unsigned long current) | acpi_fill_slit | ||
) |
Definition at line 790 of file acpi.c.
References acpi_checksum(), acpi_fill_slit(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_slit::header, memcpy(), memset(), OEM_ID, and SLIT.
Referenced by northbridge_write_acpi_tables().
void acpi_create_srat | ( | acpi_srat_t * | srat, |
unsigned long(*)(unsigned long current) | acpi_fill_srat | ||
) |
Definition at line 532 of file acpi.c.
References acpi_checksum(), acpi_fill_srat(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_srat::header, memcpy(), memset(), OEM_ID, and SRAT.
Referenced by northbridge_write_acpi_tables().
int acpi_create_srat_gia_pci | ( | acpi_srat_gia_t * | gia, |
u32 | proximity_domain, | ||
u16 | seg, | ||
u8 | bus, | ||
u8 | dev, | ||
u8 | func, | ||
u32 | flags | ||
) |
Definition at line 514 of file acpi.c.
References ACPI_SRAT_GIA_DEV_HANDLE_PCI, ACPI_SRAT_STRUCTURE_GIA, device::bus, acpi_srat_gia::dev_handle, acpi_srat_gia::dev_handle_type, acpi_srat_gia::flags, acpi_srat_gia::length, memcpy(), PCI_FUNC, PCI_SLOT, acpi_srat_gia::proximity_domain, and acpi_srat_gia::type.
int acpi_create_srat_lapic | ( | acpi_srat_lapic_t * | lapic, |
u8 | node, | ||
u8 | apic | ||
) |
Definition at line 485 of file acpi.c.
References acpi_srat_lapic::apic_id, acpi_srat_lapic::flags, acpi_srat_lapic::length, memset(), acpi_srat_lapic::proximity_domain_7_0, and acpi_srat_lapic::type.
Referenced by acpi_create_srat_lapics().
Definition at line 22 of file nb_acpi.c.
References acpi_create_srat_lapic(), all_devices, device_path::apic, apic_path::apic_id, BIOS_DEBUG, device::bus, cpu_index(), bus::dev, DEVICE_PATH_APIC, DEVICE_PATH_CPU_CLUSTER, device::enabled, device::next, apic_path::node_id, device::path, printk, and device_path::type.
Referenced by acpi_fill_srat().
int acpi_create_srat_mem | ( | acpi_srat_mem_t * | mem, |
u8 | node, | ||
u32 | basek, | ||
u32 | sizek, | ||
u32 | flags | ||
) |
Definition at line 499 of file acpi.c.
References acpi_srat_mem::base_address_high, acpi_srat_mem::base_address_low, acpi_srat_mem::flags, acpi_srat_mem::length, acpi_srat_mem::length_high, acpi_srat_mem::length_low, acpi_srat_mem::proximity_domain, and acpi_srat_mem::type.
void acpi_create_ssdt_generator | ( | acpi_header_t * | ssdt, |
const char * | oem_table_id | ||
) |
Definition at line 452 of file acpi.c.
References acpi_checksum(), acpi_ssdt_write_cbtable(), acpigen_get_current(), acpigen_set_current(), all_devices, acpi_table_header::asl_compiler_id, acpi_table_header::asl_compiler_revision, asl_revision, ASLC, acpi_table_header::checksum, device::enabled, get_acpi_table_revision(), acpi_table_header::length, memcpy(), memset(), device::next, OEM_ID, acpi_table_header::oem_id, acpi_table_header::oem_revision, acpi_table_header::oem_table_id, device::ops, acpi_table_header::revision, acpi_table_header::signature, and SSDT.
Referenced by write_acpi_tables().
void acpi_create_vfct | ( | const struct device * | device, |
acpi_vfct_t * | vfct, | ||
unsigned long(*)(const struct device *device, acpi_vfct_t *vfct_struct, unsigned long current) | acpi_fill_vfct | ||
) |
Definition at line 999 of file acpi.c.
References acpi_checksum(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_vfct::header, memcpy(), memset(), OEM_ID, and VFCT.
Definition at line 731 of file acpi.c.
References base, and dmar_atsr_entry::length.
Referenced by acpi_create_atsr().
Definition at line 719 of file acpi.c.
References base, and dmar_entry::length.
Referenced by acpi_create_drhd(), acpi_fill_dmar(), and soc_fill_dmar().
Definition at line 725 of file acpi.c.
References base, and dmar_rmrr_entry::length.
Referenced by acpi_create_rmrr(), acpi_fill_dmar(), and soc_fill_dmar().
Definition at line 737 of file acpi.c.
References base, and dmar_satc_entry::length.
void acpi_fill_fadt | ( | acpi_fadt_t * | fadt | ) |
Create the Fixed ACPI Description Tables (FADT) for any board with this SB.
Reference: ACPIspec40a, 5.2.9, page 118
Definition at line 58 of file acpi.c.
References acpi_gen_regaddr::access_size, AccWidthUint16, ACPI_ACCESS_SIZE_BYTE_ACCESS, ACPI_ACCESS_SIZE_DWORD_ACCESS, ACPI_ACCESS_SIZE_UNDEFINED, ACPI_ACCESS_SIZE_WORD_ACCESS, ACPI_ADDRESS_SPACE_IO, ACPI_BASE_ADDRESS, acpi_fadt::acpi_disable, ACPI_DISABLE, acpi_fadt::acpi_enable, ACPI_ENABLE, ACPI_FADT_32BIT_TIMER, ACPI_FADT_8042, ACPI_FADT_C1_SUPPORTED, ACPI_FADT_C2_MP_SUPPORTED, ACPI_FADT_C2_NOT_SUPPORTED, ACPI_FADT_C3_NOT_SUPPORTED, ACPI_FADT_DOCKING_SUPPORTED, ACPI_FADT_LEGACY_DEVICES, ACPI_FADT_LEGACY_FREE, ACPI_FADT_LOW_PWR_IDLE_S0, ACPI_FADT_MSI_NOT_SUPPORTED, ACPI_FADT_PCI_EXPRESS_WAKE, ACPI_FADT_PLATFORM_CLOCK, ACPI_FADT_REMOTE_POWER_ON, ACPI_FADT_S4_RTC_VALID, ACPI_FADT_S4_RTC_WAKE, ACPI_FADT_SEALED_CASE, ACPI_FADT_SLEEP_BUTTON, ACPI_FADT_WBINVD, ACPI_GPE0_BLK, ACPI_IO_BASE, ACPI_PM1_CNT_BLK, ACPI_PM_EVT_BLK, ACPI_PM_TMR_BLK, ACPI_SCI_IRQ, acpi_sci_irq(), ACPI_SMI_CMD_DISABLE, ACPI_SMI_CMD_ENABLE, ACPI_SMI_CTL_PORT, acpi_gen_regaddr::addrh, acpi_gen_regaddr::addrl, APM_CNT, APM_CNT_ACPI_DISABLE, APM_CNT_ACPI_ENABLE, acpi_fadt::ARM_boot_arch, B_QNC_LPC_GPE0BLK_MASK, B_QNC_LPC_PM1BLK_MASK, BIOS_DEBUG, BIOS_SPEW, BIT0, BIT1, BIT2, BIT4, acpi_gen_regaddr::bit_offset, acpi_gen_regaddr::bit_width, acpi_fadt::century, chip, device::chip_info, soc_amd_cezanne_config::common_config, soc_amd_sabrina_config::common_config, CONFIG, config_of_soc, acpi_fadt::day_alrm, DEFAULT_PMBASE, southbridge_intel_lynxpoint_config::docking_supported, acpi_fadt::duty_offset, acpi_fadt::duty_width, soc_amd_common_config::fadt_boot_arch, FADT_BOOT_ARCH, soc_amd_common_config::fadt_flags, acpi_fadt::flags, get_pmbase(), acpi_fadt::gpe0_blk, acpi_fadt::gpe0_blk_len, GPE0_EN, GPE0_REG_MAX, GPE0_STS, GPSTS, HUDSON_ACPI_IO_BASE, acpi_fadt::iapc_boot_arch, LP_GPE0_STS_1, lpc_get_pmbase(), acpi_fadt::mon_alrm, outl(), acpi_fadt::p_lvl2_lat, acpi_fadt::p_lvl3_lat, pch_is_lp(), PCI_DEVICE_NUMBER_QNC_LPC, PCI_FUNCTION_NUMBER_QNC_LPC, pci_read_config16(), pci_read_config32(), pcidev_on_root(), permanent_smi_handler(), PM1_CNT, acpi_fadt::pm1_cnt_len, acpi_fadt::pm1_evt_len, PM1_STS, PM1_TMR, acpi_fadt::pm1a_cnt_blk, acpi_fadt::pm1a_evt_blk, PM2_CNT, acpi_fadt::pm2_cnt_blk, acpi_fadt::pm2_cnt_len, PM2A_CNT_BLK, acpi_fadt::pm_tmr_blk, acpi_fadt::pm_tmr_len, pmbase, PMCNTRL, PMTMR, printk, PST_CONTROL, acpi_fadt::pstate_cnt, R_QNC_LPC_GPE0BLK, R_QNC_LPC_PM1BLK, R_QNC_PM1BLK_PM1C, R_QNC_PM1BLK_PM1S, R_QNC_PM1BLK_PM1T, acpi_fadt::res2, acpi_fadt::reset_reg, RTC_ALT_CENTURY, RTC_DATE_ALARM, soc_amd_cezanne_config::s0ix_enable, soc_amd_sabrina_config::s0ix_enable, acpi_fadt::sci_int, acpi_fadt::smi_cmd, soc_get_common_config(), acpi_gen_regaddr::space_id, val, acpi_fadt::x_firmware_ctl_h, acpi_fadt::x_firmware_ctl_l, acpi_fadt::x_gpe0_blk, acpi_fadt::x_pm1a_cnt_blk, acpi_fadt::x_pm1a_evt_blk, acpi_fadt::x_pm2_cnt_blk, and acpi_fadt::x_pm_tmr_blk.
Referenced by acpi_create_fadt().
Definition at line 64 of file gnvs.c.
References acpigen_pop_len(), acpigen_write_opregion(), acpigen_write_scope(), dnvs, gnvs, mainboard_fill_gnvs(), OPREGION, size_of_dnvs(), soc_fill_gnvs(), and SYSTEMMEMORY.
Referenced by write_acpi_tables().
unsigned long acpi_fill_ivrs_ioapic | ( | acpi_ivrs_t * | ivrs, |
unsigned long | current | ||
) |
Definition at line 244 of file northbridge.c.
References ALIGN_UP, ivrs_ivhd_special::dte_setting, FCH_IOAPIC_ID, GNB_IOAPIC_ID, ivrs_ivhd_special::handle, IVHD_DEV_8_BYTE_EXT_SPECIAL_DEV, IVHD_DTE_EXT_INT_PASS, IVHD_DTE_INIT_PASS, IVHD_DTE_LINT_0_PASS, IVHD_DTE_LINT_1_PASS, IVHD_DTE_NMI_PASS, IVHD_DTE_SYS_MGT_NO_TRANS, IVHD_SPECIAL_DEV_IOAPIC, memset(), PCI_DEVFN, ivrs_ivhd_special::reserved, SMBUS_DEV, SMBUS_FUNC, ivrs_ivhd_special::source_dev_id, ivrs_ivhd_special::type, and ivrs_ivhd_special::variety.
Referenced by acpi_fill_ivrs(), acpi_fill_ivrs11(), and acpi_fill_ivrs40().
Definition at line 8 of file lpit.c.
References acpi_gen_regaddr::access_size, ACPI_ACCESS_SIZE_DWORD_ACCESS, ACPI_ACCESS_SIZE_UNDEFINED, ACPI_ADDRESS_SPACE_FIXED, ACPI_ADDRESS_SPACE_MEMORY, acpi_create_lpi_desc_ncst(), ACPI_FFIXEDHW_CLASS_MWAIT, ACPI_FFIXEDHW_VENDOR_INTEL, ACPI_LPIT_CTR_FREQ_TSC, acpi_gen_regaddr::addrl, acpi_gen_regaddr::bit_offset, acpi_gen_regaddr::bit_width, acpi_lpi_desc_ncst::counter_frequency, acpi_lpi_desc_ncst::entry_trigger, acpi_lpi_desc_ncst::max_latency, acpi_lpi_desc_ncst::min_residency, MSR_PKG_C10_RESIDENCY, PCH_PWRM_BASE_ADDRESS, acpi_lpi_desc_ncst::residency_counter, SLP_S0_RES, and acpi_gen_regaddr::space_id.
Referenced by acpi_create_lpit().
Definition at line 17 of file acpi_tables.c.
References acpi_create_madt_ioapic(), acpi_create_madt_irqoverride(), acpi_create_madt_lapic(), acpi_create_madt_lapic_nmi(), acpi_create_madt_lapics(), acpi_fill_madt_irqoverride(), acpi_madt_irq_overrides(), ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS, ACPI_SCI_IRQ, addr, resource::base, FCH_IOAPIC_ID, find_resource(), GNB_IOAPIC_ID, madt_ioapic_info::gsi_base, INTEL_IOAPIC_NUM_INTERRUPTS, IO_APIC2_ADDR, IO_APIC_ADDR, IO_APIC_INTERRUPTS, IOAPIC_ICH4, IOAPIC_P64H2_BUS_A, IOAPIC_P64H2_BUS_B, device::link_list, MP_BUS_ISA, MP_IRQ_POLARITY_DEFAULT, MP_IRQ_POLARITY_HIGH, MP_IRQ_POLARITY_LOW, MP_IRQ_TRIGGER_DEFAULT, MP_IRQ_TRIGGER_EDGE, MP_IRQ_TRIGGER_LEVEL, NULL, PCI_BASE_ADDRESS_0, PCI_DEVFN, pcidev_on_root(), pcidev_path_behind(), and soc_get_ioapic_info().
Referenced by acpi_create_madt().
Definition at line 1881 of file acpi.c.
References acpi_is_wakeup_s3(), BIOS_ALERT, BIOS_DEBUG, acpi_rsdt::entry, acpi_fadt::firmware_ctrl, acpi_facs::firmware_waking_vector, acpi_rsdt::header, acpi_table_header::length, NULL, printk, acpi_rsdp::rsdt_address, strncmp(), and valid_rsdp().
Referenced by bs_os_resume_check().
int acpi_get_gpe | ( | int | gpe | ) |
Definition at line 1944 of file acpi.c.
References ACPI_BASE_ADDRESS, GPE0_STS, GPE_MAX, inl(), mask, outl(), stopwatch_expired(), and stopwatch_init_msecs_expire().
Referenced by tis_plat_irq_status().
Definition at line 14 of file acpi_pm.c.
References PM_DESKTOP, PM_MOBILE, PM_TABLET, PM_UNSPECIFIED, SMBIOS_ENCLOSURE_CONVERTIBLE, SMBIOS_ENCLOSURE_DESKTOP, SMBIOS_ENCLOSURE_DETACHABLE, SMBIOS_ENCLOSURE_LAPTOP, SMBIOS_ENCLOSURE_TABLET, SMBIOS_ENCLOSURE_UNKNOWN, and smbios_mainboard_enclosure_type().
Referenced by acpi_create_fadt().
int acpi_get_sleep_type | ( | void | ) |
Definition at line 96 of file acpi.c.
References ACPI_PM1_CNT_BLK, acpi_read16(), ACPI_S0, acpi_sus_to_slp_typ, BIOS_DEBUG, DEFAULT_PMBASE, inw(), MMIO_ACPI_PM1_CNT_BLK, PM1_CNT, pmc_get_power_state(), PMCNTRL, chipset_power_state::prev_sleep_state, prev_sleep_state(), printk, and read_pmbase32().
Referenced by acpi_fill_pm_gpe_state(), acpi_is_wakeup_s3(), bootblock_mainboard_early_init(), do_send_end_of_post(), mainboard_final(), platform_is_resuming(), and soc_core_init().
|
inlinestatic |
Definition at line 1424 of file acpi.h.
References acpi_get_sleep_type(), ACPI_S3, acpi_s3_resume_allowed(), ENV_ROMSTAGE_OR_BEFORE, and romstage_handoff_is_resume().
void __noreturn acpi_resume | ( | void * | wake_vec | ) |
Definition at line 18 of file acpi_s3.c.
References __wakeup, __wakeup_size, acpi_do_wakeup, die(), mainboard_suspend_resume(), memcpy(), post_code, POST_OS_RESUME, set_boot_successful(), timestamp_add_now(), TS_ACPI_WAKE_JUMP, and WAKEUP_BASE.
Referenced by bs_os_resume().
|
inlinestatic |
Definition at line 1419 of file acpi.h.
References CONFIG.
Referenced by acpi_is_wakeup_s3(), agesawrapper_post_device(), and southbridge_detect_s3_resume().
Definition at line 1 of file bert.c.
References bert_errors_region(), bert_should_generate_acpi_table(), BIOS_DEBUG, BIOS_ERR, BIOS_SPEW, CB_ERR, CB_SUCCESS, cl_get_total_data_size(), collect_pmc_and_cpu_crashlog_from_srams(), CONFIG, discover_crashlog(), length, and printk.
Referenced by write_acpi_tables().
void acpi_write_bert | ( | acpi_bert_t * | bert, |
uintptr_t | region, | ||
size_t | length | ||
) |
Definition at line 1458 of file acpi.c.
References acpi_checksum(), ACPI_TABLE_CREATOR, asl_revision, ASLC, BERT, acpi_bert::error_region, get_acpi_table_revision(), header, acpi_bert::header, length, memcpy(), memset(), OEM_ID, and acpi_bert::region_length.
Referenced by write_acpi_tables().
unsigned long acpi_write_dbg2_pci_uart | ( | acpi_rsdp_t * | rsdp, |
unsigned long | current, | ||
const struct device * | dev, | ||
uint8_t | access_size | ||
) |
Definition at line 1230 of file acpi.c.
References acpi_add_table(), ACPI_ADDRESS_SPACE_IO, ACPI_ADDRESS_SPACE_MEMORY, acpi_align_current(), acpi_create_dbg2(), ACPI_DBG2_PORT_SERIAL, ACPI_DBG2_PORT_SERIAL_16550, acpi_device_path(), address, resource::base, BIOS_DEBUG, BIOS_ERR, BIOS_INFO, dev_path(), device::enabled, resource::flags, acpi_dbg2_header::header, IORESOURCE_IO, IORESOURCE_MEM, acpi_table_header::length, memset(), PCI_BASE_ADDRESS_0, printk, probe_resource(), and resource::size.
Referenced by broadwell_write_acpi_tables(), and southbridge_write_acpi_tables().
void acpi_write_hest | ( | acpi_hest_t * | hest, |
unsigned long(*)(acpi_hest_t *hest) | acpi_fill_hest | ||
) |
Definition at line 1433 of file acpi.c.
References acpi_checksum(), acpi_fill_hest(), ACPI_TABLE_CREATOR, asl_revision, ASLC, get_acpi_table_revision(), header, acpi_hest::header, HEST, memcpy(), memset(), and OEM_ID.
Referenced by agesa_write_acpi_tables(), and hest_create().
unsigned long acpi_write_hpet | ( | const struct device * | device, |
unsigned long | start, | ||
acpi_rsdp_t * | rsdp | ||
) |
Definition at line 1141 of file acpi.c.
References acpi_add_table(), acpi_create_hpet(), ALIGN_UP, BIOS_DEBUG, and printk.
Referenced by broadwell_write_acpi_tables(), southbridge_write_acpi_tables(), and southcluster_write_acpi_tables().
void arch_fill_fadt | ( | acpi_fadt_t * | fadt | ) |
Definition at line 1482 of file acpi.c.
References acpi_gen_regaddr::access_size, ACPI_ACCESS_SIZE_BYTE_ACCESS, ACPI_ADDRESS_SPACE_IO, ACPI_FADT_RESET_REGISTER, acpi_gen_regaddr::addrh, acpi_gen_regaddr::addrl, acpi_gen_regaddr::bit_offset, acpi_gen_regaddr::bit_width, CONFIG, acpi_fadt::flags, acpi_fadt::reset_reg, acpi_fadt::reset_value, RST_CNT, RST_CPU, acpi_gen_regaddr::space_id, and SYS_RST.
Referenced by acpi_create_fadt().
Definition at line 1569 of file acpi.c.
References acpi_checksum(), ALIGN, BiosLinkerLoaderEntry::alloc, BIOS_DEBUG, BIOS_LINKER_LOADER_COMMAND_ADD_CHECKSUM, BIOS_LINKER_LOADER_COMMAND_ADD_POINTER, BIOS_LINKER_LOADER_COMMAND_ALLOCATE, BiosLinkerLoaderEntry::cksum, BiosLinkerLoaderEntry::command, free(), fw_cfg_check_file(), fw_cfg_get(), malloc(), BiosLinkerLoaderEntry::pointer, printk, read_le32(), read_le64(), s, FWCfgFile::select, FWCfgFile::size, BiosLinkerLoaderEntry::start, strcmp(), write_le32(), write_le64(), and write_le8().
Referenced by write_acpi_tables().
Generate ACPI entries for Speedstep for each cpu.
Definition at line 334 of file acpi.c.
References ACPI_ACCESS_SIZE_BYTE_ACCESS, ACPI_ADDRESS_SPACE_FIXED, ACPI_ADDRESS_SPACE_IO, ACPI_GPE0_BLK, acpigen_pop_len(), acpigen_write_CSD_package(), acpigen_write_CST_package(), acpigen_write_name_integer(), acpigen_write_pct_package(), acpigen_write_PPC(), acpigen_write_processor(), acpigen_write_processor_cnot(), acpigen_write_processor_package(), acpigen_write_PSD_package(), acpigen_write_pss_object(), acpigen_write_scope(), acpigen_write_xpss_object(), ARRAY_SIZE, BIOS_DEBUG, CMP_CAP_MASK, CONFIG, cpu_id, cpu_read_topology(), cpuid_eax(), cpuid_ebx(), CSD_HW_ALL, cstate_map, acpi_cstate::ctype, DEFAULT_PMBASE, determine_total_number_of_cores(), dev_count_cpu(), gen_pstate_entries(), generate_c_state_entries(), generate_cppc_entries(), generate_p_state_entries(), generate_t_state_entries(), get_cpu_count(), get_cst_entries(), get_pstate_info(), get_threads_per_core(), HW_ALL, msr_struct::lo, MAX_PSTATES, MSR_CSTATE_ADDRESS, MSR_CSTATE_ADDRESS_MASK, NB_CAPABILITIES2, pattrs::num_cpus, pattrs_get(), pci_read_config32(), PCNTRL, PMB0_BASE, printk, PS_CTL_REG, PS_STS_REG, rdmsr(), sgx_fill_ssdt(), SOC_NB_DEV, soc_power_states_generation(), acpi_gen_regaddr::space_id, speedstep_gen_pstates(), SW_ALL, and SW_ANY.
Referenced by cpu_fill_ssdt(), and mc_gen_ssdt().
Definition at line 1949 of file acpi.c.
References ACPI_FADT_MINOR_VERSION_0.
Referenced by acpi_create_fadt().
int get_acpi_table_revision | ( | enum acpi_tables | table | ) |
Definition at line 1954 of file acpi.c.
References ACPI_FADT_REV_ACPI_6, BERT, CRAT, DBG2, DMAR, EINJ, FACS, FADT, HEST, HMAT, HPET, IVRS, IVRS_FORMAT_MIXED, LPIT, MADT, MCFG, NHLT, RSDP, RSDT, SLIT, SPMI, SRAT, SSDT, TCPA, TPM2, VFCT, and XSDT.
Referenced by acpi_create_crat(), acpi_create_dbg2(), acpi_create_dmar(), acpi_create_facs(), acpi_create_fadt(), acpi_create_hmat(), acpi_create_hpet(), acpi_create_ipmi(), acpi_create_ivrs(), acpi_create_lpit(), acpi_create_madt(), acpi_create_mcfg(), acpi_create_serialio_ssdt(), acpi_create_slit(), acpi_create_srat(), acpi_create_ssdt_generator(), acpi_create_tcpa(), acpi_create_tpm2(), acpi_create_vfct(), acpi_write_bert(), acpi_write_hest(), acpi_write_rsdp(), acpi_write_rsdt(), acpi_write_xsdt(), nhlt_serialize_oem_overrides(), and write_acpi_tables().
Definition at line 1587 of file acpi.c.
References coreboot_rsdp.
Referenced by lb_add_acpi_rsdp().
void mainboard_fill_fadt | ( | acpi_fadt_t * | fadt | ) |
Definition at line 1484 of file acpi.c.
References acpi_fadt::acpi_disable, acpi_fadt::acpi_enable, ACPI_FADT_8042, ACPI_FADT_LEGACY_DEVICES, acpi_fadt::iapc_boot_arch, PM_DESKTOP, PM_ENTERPRISE_SERVER, PM_MOBILE, acpi_fadt::preferred_pm_profile, and acpi_fadt::smi_cmd.
Referenced by acpi_create_fadt().
Definition at line 9 of file acpi_pm.c.
References APM_CNT_ACPI_ENABLE, APM_CNT_FINALIZE, apm_control(), EC_ACPI_ENABLE, EC_CMD_NOTIFY_ACPI_ENTER, EC_SMI_DISABLE, ec_write_cmd(), and send_ec_command().
Referenced by acpi_resume().
|
inlinestatic |
Definition at line 1414 of file acpi.h.
References CONFIG.
Referenced by acpi_fill_fadt().
Definition at line 1574 of file acpi.c.
References BIOS_DEBUG, cbfs_preload(), CONFIG, and printk.
void soc_fill_fadt | ( | acpi_fadt_t * | fadt | ) |
Definition at line 1483 of file acpi.c.
References acpi_gen_regaddr::access_size, ACPI_ACCESS_SIZE_BYTE_ACCESS, ACPI_ACCESS_SIZE_DWORD_ACCESS, ACPI_ACCESS_SIZE_UNDEFINED, ACPI_ADDRESS_SPACE_IO, ACPI_BASE_ADDRESS, ACPI_FADT_8042, ACPI_FADT_LEGACY_DEVICES, ACPI_FADT_LEGACY_FREE, ACPI_FADT_LOW_PWR_IDLE_S0, ACPI_FADT_S4_RTC_WAKE, ACPI_FADT_SEALED_CASE, ACPI_FADT_SLEEP_TYPE, acpi_gen_regaddr::addrh, acpi_gen_regaddr::addrl, acpi_gen_regaddr::bit_offset, acpi_gen_regaddr::bit_width, config, CONFIG, config_of_soc, acpi_fadt::flags, get_pmbase(), acpi_fadt::iapc_boot_arch, soc_intel_apollolake_config::lpss_s0ix_enable, acpi_fadt::mon_alrm, PM1_TMR, PM2_CNT, acpi_fadt::pm2_cnt_blk, acpi_fadt::pm2_cnt_len, PM_MOBILE, acpi_fadt::pm_tmr_blk, acpi_fadt::pm_tmr_len, pmbase, acpi_fadt::preferred_pm_profile, acpi_gen_regaddr::space_id, acpi_fadt::x_pm2_cnt_blk, and acpi_fadt::x_pm_tmr_blk.
Referenced by acpi_create_fadt().
Definition at line 1592 of file acpi.c.
References acpi_add_table(), acpi_align_current(), acpi_checksum(), acpi_create_facs(), acpi_create_fadt(), acpi_create_lpit(), acpi_create_madt(), acpi_create_mcfg(), acpi_create_ssdt_generator(), acpi_create_tcpa(), acpi_create_tpm2(), acpi_fill_cnvs(), acpi_fill_gnvs(), acpi_soc_get_bert_region(), acpi_ssdt_write_cbtable(), ACPI_TABLE_CREATOR, acpi_write_bert(), acpi_write_rsdp(), acpi_write_rsdt(), acpi_write_xsdt(), acpigen_get_current(), acpigen_set_current(), ALIGN_UP, all_devices, asl_revision, ASLC, BIOS_DEBUG, BIOS_ERR, BIOS_INFO, CB_SUCCESS, cbfs_map(), acpi_table_header::checksum, CONFIG, coreboot_rsdp, fw_cfg_acpi_tables(), get_acpi_table_revision(), acpi_mcfg::header, acpi_tcpa::header, acpi_tpm2::header, acpi_madt::header, acpi_lpit::header, acpi_bert::header, acpi_table_header::length, memcmp(), memcpy(), memset(), device::next, NULL, OEM_ID, acpi_table_header::oem_id, acpi_table_header::oem_table_id, device::ops, printk, acpi_table_header::signature, SSDT, TPM2, and valid_rsdp().
Referenced by write_acpi_table().