Lines Matching +full:hw +full:- +full:revision

1 // SPDX-License-Identifier: GPL-2.0-only
3 * ARM64 Specific Low-Level ACPI Boot Support
5 * Copyright (C) 2013-2014, Linaro Ltd.
16 #include <linux/arm-smccc.h>
19 #include <linux/efi-bgrt.h>
54 return -EINVAL; in parse_acpi()
66 return -EINVAL; /* Core will print when we return error */ in parse_acpi()
122 * acpi_fadt_sanity_check() - Check FADT presence and carry out sanity
136 * and carry out revision and ACPI HW reduced compliance tests in acpi_fadt_sanity_check()
143 return -ENODEV; in acpi_fadt_sanity_check()
149 * Revision in table header is the FADT Major revision, and there in acpi_fadt_sanity_check()
150 * is a minor revision of FADT which was introduced by ACPI 5.1, in acpi_fadt_sanity_check()
151 * we only deal with ACPI 5.1 or newer revision to get GIC and SMP in acpi_fadt_sanity_check()
154 if (table->revision < 5 || in acpi_fadt_sanity_check()
155 (table->revision == 5 && fadt->minor_revision < 1)) { in acpi_fadt_sanity_check()
156 pr_err(FW_BUG "Unsupported FADT revision %d.%d, should be 5.1+\n", in acpi_fadt_sanity_check()
157 table->revision, fadt->minor_revision); in acpi_fadt_sanity_check()
159 if (!fadt->arm_boot_flags) { in acpi_fadt_sanity_check()
160 ret = -EINVAL; in acpi_fadt_sanity_check()
166 if (!(fadt->flags & ACPI_FADT_HW_REDUCED)) { in acpi_fadt_sanity_check()
168 ret = -EINVAL; in acpi_fadt_sanity_check()
184 * 3. check ACPI FADT revision
185 * 4. check ACPI FADT HW reduced flag
187 * We can parse ACPI boot-time tables such as MADT after
192 * - ACPI tables are initialized and sanity checks passed
193 * - acpi=force was passed in the command line and ACPI was not disabled
202 * - ACPI has been disabled explicitly (acpi=off), or in acpi_boot_table_init()
203 * - the device tree is not empty (it has more than just a /chosen node, in acpi_boot_table_init()
240 ((struct acpi_table_facs *)facs)->hardware_signature; in acpi_boot_table_init()
264 * Although UEFI specifies the use of Normal Write-through for in __acpi_get_writethrough_mem_attribute()
267 * purpose, emit a warning and use Normal Non-cacheable instead. in __acpi_get_writethrough_mem_attribute()
269 pr_warn_once("No MAIR allocation for EFI_MEMORY_WT; treating as Normal Non-cacheable\n"); in __acpi_get_writethrough_mem_attribute()
304 u64 end = md->phys_addr + (md->num_pages << EFI_PAGE_SHIFT); in acpi_os_ioremap()
306 if (phys < md->phys_addr || phys >= end) in acpi_os_ioremap()
325 switch (region->type) { in acpi_os_ioremap()
372 if (region->attribute & EFI_MEMORY_WB) in acpi_os_ioremap()
374 else if (region->attribute & EFI_MEMORY_WC) in acpi_os_ioremap()
376 else if (region->attribute & EFI_MEMORY_WT) in acpi_os_ioremap()
391 int err = -ENOENT; in apei_claim_sea()
416 * APEI NMI-like notifications are deferred to irq_work. Unless in apei_claim_sea()
417 * we interrupted irqs-masked code, we can do that now. in apei_claim_sea()
427 err = -EINPROGRESS; in apei_claim_sea()