linux/drivers/acpi/apei
James Morse 4f89fa286f ACPI / APEI: Replace ioremap_page_range() with fixmap
Replace ghes_io{re,un}map_pfn_{nmi,irq}()s use of ioremap_page_range()
with __set_fixmap() as ioremap_page_range() may sleep to allocate a new
level of page-table, even if its passed an existing final-address to
use in the mapping.

The GHES driver can only be enabled for architectures that select
HAVE_ACPI_APEI: Add fixmap entries to both x86 and arm64.

clear_fixmap() does the TLB invalidation in __set_fixmap() for arm64
and __set_pte_vaddr() for x86. In each case its the same as the
respective arch_apei_flush_tlb_one().

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Tested-by: Tyler Baicar <tbaicar@codeaurora.org>
Tested-by: Toshi Kani <toshi.kani@hpe.com>
[ For the arm64 bits: ]
Acked-by: Will Deacon <will.deacon@arm.com>
[ For the x86 bits: ]
Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: All applicable <stable@vger.kernel.org>
2017-11-07 12:12:44 +01:00
..
apei-base.c ACPI / APEI: Fix leaked resources 2016-03-11 00:13:25 +01:00
apei-internal.h ACPI: APEI: fix the wrong iteration of generic error status block 2017-08-24 03:29:46 +02:00
bert.c ACPI: APEI: Fix BERT resources conflict with ACPI NVS area 2017-02-27 22:53:11 +01:00
einj.c ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources 2017-08-29 00:32:49 +02:00
erst-dbg.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
erst.c treewide: use kv[mz]alloc* rather than opencoded variants 2017-05-08 17:15:13 -07:00
ghes.c ACPI / APEI: Replace ioremap_page_range() with fixmap 2017-11-07 12:12:44 +01:00
hest.c ACPI / APEI: Suppress message if HEST not present 2017-08-30 03:11:21 +02:00
Kconfig acpi: apei: handle SEA notification type for ARMv8 2017-06-22 18:22:03 +01:00
Makefile ACPI / APEI: Add Boot Error Record Table (BERT) support 2016-06-29 23:35:05 +02:00