// SPDX-License-Identifier: GPL-2.0-only /* * APEI Hardware Error Source Table support * * HEST describes error sources in detail; communicates operational * parameters (i.e. severity levels, masking bits, and threshold * values) to Linux as necessary. It also allows the BIOS to report * non-standard error sources to Linux (for example, chipset-specific * error registers). * * For more information about HEST, please refer to ACPI Specification * version 4.0, section 17.3.2. * * Copyright 2009 Intel Corp. * Author: Huang Ying <ying.huang@intel.com>
*/
/* * Since GHES_ASSIST is not supported, skip initialization of GHES_ASSIST * structures for MCA. * During HEST parsing, detected MCA error sources are cached from early * table entries so that the Flags and Source Id fields from these cached * values are then referred to in later table entries to determine if the * encountered GHES_ASSIST structure should be initialized.
*/ staticstruct { struct acpi_hest_ia_corrected *cmc; struct acpi_hest_ia_machine_check *mc; struct acpi_hest_ia_deferred_check *dmc;
} mces;
/* * GHES and GHESv2 structures share the same format, starting from * Source Id and ending in Error Status Block Length (inclusive).
*/ staticbool is_ghes_assist_struct(struct acpi_hest_header *hest_hdr)
{ struct acpi_hest_generic *ghes;
u16 related_source_id;
if (hest_hdr->type != ACPI_HEST_TYPE_GENERIC_ERROR &&
hest_hdr->type != ACPI_HEST_TYPE_GENERIC_ERROR_V2) returnfalse;
/* * Check if firmware advertises firmware first mode. We need FF bit to be set * along with a set of MC banks which work in FF mode.
*/ staticint __init hest_parse_cmc(struct acpi_hest_header *hest_hdr, void *data)
{ if (hest_hdr->type != ACPI_HEST_TYPE_IA32_CORRECTED_CHECK) return 0;
if (!acpi_disable_cmcff) return !arch_apei_enable_cmcff(hest_hdr, data);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.