![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <bootstate.h>
#include <cbmem.h>
#include <console/console.h>
#include <cpu/x86/name.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/lapic.h>
#include <acpi/acpi.h>
#include <arch/bert_storage.h>
#include <string.h>
#include <types.h>
Go to the source code of this file.
Variables | |
static bool | bert_region_broken |
static void * | bert_region_base |
static size_t | bert_region_size |
static size_t | bert_region_used |
static const char *const | generic_error_types [] |
|
static |
Definition at line 76 of file acpi_bert_storage.c.
References bert_entry_count(), acpi_hest_generic_data_v300::data_length, HEST_GENERIC_ENTRY_V300, NULL, and acpi_hest_generic_data_v300::revision.
Referenced by revise_error_sizes().
Definition at line 55 of file acpi_bert_storage.c.
References bert_region_base, bert_region_broken, bert_region_size, bert_region_used, and NULL.
Referenced by bert_append_error_datasection(), new_bert_status(), new_cper_fw_error_crashlog(), new_cper_ia32x64_check(), new_cper_ia32x64_ctx(), and new_generic_error_entry().
acpi_hest_generic_data_v300_t* bert_append_error_datasection | ( | acpi_generic_error_status_t * | status, |
guid_t * | guid | ||
) |
Definition at line 242 of file acpi_bert_storage.c.
References bert_allocate_storage(), bert_storage_remaining(), guidcpy(), new_generic_error_entry(), NULL, revise_error_sizes(), acpi_hest_generic_data_v300::section_type, and sizeof_error_section().
Referenced by bert_append_fw_err(), bert_append_genproc(), and bert_append_ia32x64().
acpi_hest_generic_data_v300_t* bert_append_fw_err | ( | acpi_generic_error_status_t * | status | ) |
Definition at line 214 of file acpi_bert_storage.c.
References ACPI_GENERROR_SEV_FATAL, bert_append_error_datasection(), acpi_generic_error_status::block_status, CPER_SEC_FW_ERR_REC_REF_GUID, CRASHLOG_FW_ERR_REV, CRASHLOG_RECORD_TYPE, acpi_hest_generic_data_v300::error_severity, acpi_generic_error_status::error_severity, FW_ERR_RECORD_ID_CRASHLOG_GUID, GENERIC_ERR_STS_UNCORRECTABLE_VALID, guidcpy(), NULL, cper_fw_err_rec_section::record_guid, cper_fw_err_rec_section::record_id, cper_fw_err_rec_section::record_type, cper_fw_err_rec_section::revision, and section_of_acpientry.
Referenced by bert_new_event().
acpi_hest_generic_data_v300_t* bert_append_genproc | ( | acpi_generic_error_status_t * | status | ) |
Definition at line 275 of file acpi_bert_storage.c.
References ACPI_GENERROR_SEV_FATAL, bert_append_error_datasection(), acpi_generic_error_status::block_status, CPER_SEC_PROC_GENERIC_GUID, cper_proc_generic_error_section::cpu_brand_string, cper_proc_generic_error_section::cpu_version, cpuid_eax(), acpi_hest_generic_data_v300::error_severity, acpi_generic_error_status::error_severity, fill_processor_name(), GENERIC_ERR_STS_UNCORRECTABLE_VALID, GENPROC_PROCTYPE_IA32X64, GENPROC_VALID_CPU_BRAND, GENPROC_VALID_CPU_ID, GENPROC_VALID_CPU_VERSION, GENPROC_VALID_PROC_TYPE, lapicid(), NULL, cper_proc_generic_error_section::proc_id, cper_proc_generic_error_section::proc_type, section_of_acpientry, and cper_proc_generic_error_section::validation.
Referenced by bert_new_event().
acpi_hest_generic_data_v300_t* bert_append_ia32x64 | ( | acpi_generic_error_status_t * | status | ) |
Definition at line 430 of file acpi_bert_storage.c.
References ACPI_GENERROR_SEV_FATAL, cper_ia32x64_proc_error_section::apicid, bert_append_error_datasection(), acpi_generic_error_status::block_status, CPER_SEC_PROC_IA32X64_GUID, cper_ia32x64_proc_error_section::cpuid, cpuid, acpi_hest_generic_data_v300::error_severity, acpi_generic_error_status::error_severity, GENERIC_ERR_STS_UNCORRECTABLE_VALID, I32X64SEC_VALID_CPUID, I32X64SEC_VALID_LAPIC, lapicid(), NULL, section_of_acpientry, and cper_ia32x64_proc_error_section::validation.
Referenced by bert_new_event(), and build_bert_mca_error().
Definition at line 37 of file acpi_bert_storage.c.
References bert_region_broken, and bert_region_used.
Referenced by bert_should_generate_acpi_table().
Definition at line 42 of file acpi_bert_storage.c.
References bert_region_base, bert_region_broken, bert_region_used, and NULL.
Referenced by acpi_soc_get_bert_region().
acpi_generic_error_status_t* bert_new_event | ( | guid_t * | guid | ) |
Definition at line 511 of file acpi_bert_storage.c.
References bert_append_fw_err(), bert_append_genproc(), bert_append_ia32x64(), bert_storage_remaining(), BIOS_ERR, CPER_SEC_FW_ERR_REC_REF_GUID, CPER_SEC_PROC_GENERIC_GUID, generic_error_name(), guidcmp(), new_bert_status(), NULL, printk, and sizeof_error_section().
Referenced by build_bert_mca_error().
Definition at line 573 of file acpi_bert_storage.c.
References BIOS_ERR, NULL, and printk.
Referenced by bert_storage_setup().
Definition at line 32 of file acpi_bert_storage.c.
References bert_region_broken, bert_region_size, and bert_region_used.
Referenced by bert_append_error_datasection(), bert_new_event(), and build_bert_mca_error().
Definition at line 581 of file acpi_bert_storage.c.
References bert_region_base, bert_region_broken, bert_region_size, bert_region_used, bert_reserved_region(), BIOS_ERR, memset(), and printk.
BOOT_STATE_INIT_ENTRY | ( | BS_PRE_DEVICE | , |
BS_ON_EXIT | , | ||
bert_storage_setup | , | ||
NULL | |||
) |
cper_ia32x64_context_t* cper_new_ia32x64_context_msr | ( | acpi_generic_error_status_t * | status, |
cper_ia32x64_proc_error_section_t * | x86err, | ||
u32 | addr, | ||
int | num | ||
) |
Definition at line 547 of file acpi_bert_storage.c.
References addr, cper_ia32x64_context::array_size, CPER_IA32X64_CTX_MSR, cper_ia32x64_context::msr_addr, new_cper_ia32x64_ctx(), NULL, and rdmsr().
Referenced by build_bert_mca_error().
|
static |
Definition at line 478 of file acpi_bert_storage.c.
References CPER_SEC_DMAR_GENERIC_GUID, CPER_SEC_DMAR_IOMMU_GUID, CPER_SEC_DMAR_VT_GUID, CPER_SEC_FW_ERR_REC_REF_GUID, CPER_SEC_PCI_DEV_GUID, CPER_SEC_PCI_X_BUS_GUID, CPER_SEC_PCIE_GUID, CPER_SEC_PLATFORM_MEM2_GUID, CPER_SEC_PLATFORM_MEM_GUID, CPER_SEC_PROC_ARM_GUID, CPER_SEC_PROC_GENERIC_GUID, CPER_SEC_PROC_IA32X64_GUID, generic_error_types, and guidcmp().
Referenced by bert_new_event().
|
static |
Definition at line 124 of file acpi_bert_storage.c.
References ACPI_GENERROR_SEV_NONE, bert_allocate_storage(), BIOS_ERR, acpi_generic_error_status::error_severity, NULL, and printk.
Referenced by bert_new_event().
void* new_cper_fw_error_crashlog | ( | acpi_generic_error_status_t * | status, |
size_t | cl_size | ||
) |
Definition at line 199 of file acpi_bert_storage.c.
References bert_allocate_storage(), BIOS_ERR, NULL, printk, and revise_error_sizes().
cper_ia32x64_proc_error_info_t* new_cper_ia32x64_check | ( | acpi_generic_error_status_t * | status, |
cper_ia32x64_proc_error_section_t * | x86err, | ||
enum cper_x86_check_type | type | ||
) |
Definition at line 383 of file acpi_bert_storage.c.
References bert_allocate_storage(), BIOS_ERR, cper_bump_ia32x64_chk_count(), cper_ia32x64_proc_num_chks(), guidcpy(), I32X64SEC_VALID_ERRNUM_MAX, NULL, printk, revise_error_sizes(), cper_ia32x64_proc_error_info::type, type, X86_PROCESSOR_BUS_CHK_ERROR_GUID, X86_PROCESSOR_CACHE_CHK_ERROR_GUID, X86_PROCESSOR_CHK_MAX, X86_PROCESSOR_MS_CHK_ERROR_GUID, and X86_PROCESSOR_TLB_CHK_ERROR_GUID.
Referenced by build_bert_mca_error().
cper_ia32x64_context_t* new_cper_ia32x64_ctx | ( | acpi_generic_error_status_t * | status, |
cper_ia32x64_proc_error_section_t * | x86err, | ||
int | type, | ||
int | num | ||
) |
Definition at line 331 of file acpi_bert_storage.c.
References cper_ia32x64_context::array_size, bert_allocate_storage(), BIOS_ERR, cper_bump_ia32x64_ctx_count(), CPER_IA32X64_CTX_MEMMAPPED, cper_ia32x64_ctx_sz_bytype(), cper_ia32x64_proc_num_ctxs(), I32X64SEC_VALID_CTXNUM_MAX, NULL, printk, revise_error_sizes(), cper_ia32x64_context::type, and type.
Referenced by cper_new_ia32x64_context_msr().
|
static |
Definition at line 157 of file acpi_bert_storage.c.
References ACPI_GENERROR_VALID_TIMESTAMP, bert_allocate_storage(), bert_bump_entry_count(), bert_entry_count(), BIOS_ERR, cper_timestamp(), CPER_TIMESTAMP_PRECISE, acpi_generic_error_status::data_length, GENERIC_ERR_STS_ENTRY_COUNT_MAX, HEST_GENERIC_ENTRY_V300, NULL, printk, acpi_hest_generic_data_v300::revision, acpi_hest_generic_data_v300::timestamp, and acpi_hest_generic_data_v300::validation_bits.
Referenced by bert_append_error_datasection().
|
static |
Definition at line 100 of file acpi_bert_storage.c.
References acpi_hest_generic_data_nth(), bert_entry_count(), acpi_hest_generic_data_v300::data_length, and acpi_generic_error_status::data_length.
Referenced by bert_append_error_datasection(), new_cper_fw_error_crashlog(), new_cper_ia32x64_check(), and new_cper_ia32x64_ctx().
|
static |
Definition at line 185 of file acpi_bert_storage.c.
References BIOS_ERR, CPER_SEC_FW_ERR_REC_REF_GUID, CPER_SEC_PROC_GENERIC_GUID, CPER_SEC_PROC_IA32X64_GUID, guidcmp(), and printk.
Referenced by bert_append_error_datasection(), and bert_new_event().
|
static |
Definition at line 25 of file acpi_bert_storage.c.
Referenced by bert_allocate_storage(), bert_errors_region(), and bert_storage_setup().
|
static |
Definition at line 24 of file acpi_bert_storage.c.
Referenced by bert_allocate_storage(), bert_errors_present(), bert_errors_region(), bert_storage_remaining(), and bert_storage_setup().
|
static |
Definition at line 26 of file acpi_bert_storage.c.
Referenced by bert_allocate_storage(), bert_storage_remaining(), and bert_storage_setup().
|
static |
Definition at line 27 of file acpi_bert_storage.c.
Referenced by bert_allocate_storage(), bert_errors_present(), bert_errors_region(), bert_storage_remaining(), and bert_storage_setup().
|
static |
Definition at line 462 of file acpi_bert_storage.c.
Referenced by generic_error_name().