freebsd-skq/sys/arm64/arm64
Alexander Motin 855e49f3b0 Add initial driver for ACPI Platform Error Interfaces.
APEI allows platform to report different kinds of errors to OS in several
ways.  We've found that Supermicro X10/X11 motherboards report PCIe errors
appearing on hot-unplug via this interface using NMI.  Without respective
driver it ended up in kernel panic without any additional information.

This driver introduces support for the APEI Generic Hardware Error Source
reporting via NMI, SCI or polling.  It decodes the reported errors and
either pass them to pci(4) for processing or just logs otherwise.  Errors
marked as fatal still end up in kernel panic, but some more informative.

When somebody get to native PCIe AER support implementation both of the
reporting mechanisms should get common error recovery code.  Since in our
case errors happen when the device is already gone, there is nothing to
recover, so the code just clears the error statuses, practically ignoring
the otherwise destructive NMIs in nicer way.

MFC after:	2 weeks
Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2020-07-27 21:19:41 +00:00
..
autoconf.c
bus_machdep.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
bus_space_asm.S
busdma_bounce.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
busdma_machdep.c Introduce the concept of busdma tag templates. A template can be allocated 2019-12-24 14:48:46 +00:00
bzero.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
clock.c
copyinout.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
cpu_errata.c Utilize ASIDs to reduce both the direct and indirect costs of context 2019-11-03 17:45:30 +00:00
cpufunc_asm.S Stop performing a full icache sync when the DIC and IDC flags are set 2020-05-19 16:04:27 +00:00
db_disasm.c
db_interface.c Use native-sized accesses when accessing memory from kdb. 2020-06-19 16:26:42 +00:00
db_trace.c Update the debug monitor handling to work after userspace has started 2019-10-30 10:51:24 +00:00
debug_monitor.c debug_monitor: Avoid setting the PSR_D flag for 32bits binaries. 2020-02-24 16:25:11 +00:00
disassem.c
dump_machdep.c
efirt_machdep.c Split out the stage 1 pte bits and add the stage 2 bits 2020-02-24 16:45:31 +00:00
elf32_machdep.c Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
elf_machdep.c Rerun kernel ifunc resolvers after all CPUs have started 2020-07-05 14:38:22 +00:00
exception.S Stop speculation past an eret instruction 2019-12-19 08:52:16 +00:00
freebsd32_machdep.c Use a lowercase name for arm64 special registers so they don't conflict 2019-10-30 12:47:00 +00:00
genassym.c Store the boot exception level on arm64 so it can be queried later 2020-03-03 08:28:16 +00:00
gic_v3_acpi.c arm64 gicv3: add IORT and NUMA support 2019-02-07 03:01:54 +00:00
gic_v3_fdt.c
gic_v3_reg.h Export tracing facility of GIC500 ITS block. 2020-04-29 14:31:25 +00:00
gic_v3_var.h arm64 gic: Drop unused GICV3_IVAR_REDIST_VADDR 2019-06-24 21:00:28 +00:00
gic_v3.c arm64 gic: Drop unused GICV3_IVAR_REDIST_VADDR 2019-06-24 21:00:28 +00:00
gicv3_its.c Create MSI/MSI-X isrcs as needed in the GICv3 ITS driver 2020-05-19 15:27:20 +00:00
identcpu.c Read the CPU 0 arm64 ID registers early in initarm 2020-07-01 16:57:57 +00:00
in_cksum.c
locore.S Remove the secondary_stacks array in arm64 and riscv kernels. 2020-03-24 18:43:23 +00:00
machdep_boot.c [PowerPC] More relocation fixes 2020-06-21 03:39:26 +00:00
machdep.c Add initial driver for ACPI Platform Error Interfaces. 2020-07-27 21:19:41 +00:00
mem.c
memcpy.S
memmove.S
minidump_machdep.c Fix handling of 1GB mappings in the arm64 minidump code. 2020-04-24 18:47:57 +00:00
mp_machdep.c Read the CPU 0 arm64 ID registers early in initarm 2020-07-01 16:57:57 +00:00
nexus.c arm64 nexus: remove incorrect warning 2019-05-26 23:04:21 +00:00
ofw_machdep.c
pmap.c Use EFI memory map to determine attributes for Acpi mappings on arm64. 2020-06-28 15:03:07 +00:00
stack_machdep.c Reimplement stack capture of running threads on i386 and amd64. 2020-01-31 15:43:33 +00:00
support.S Provide protection against starvation of the ll/sc loops when accessing userpace. 2019-07-12 18:43:24 +00:00
swtch.S Stop speculation past an eret instruction 2019-12-19 08:52:16 +00:00
sys_machdep.c
trap.c Set si_trapno to the exception code from esr. 2020-07-23 21:40:03 +00:00
uio_machdep.c
uma_machdep.c Use vm_page_unwire_noq() instead of directly modifying page wire counts. 2018-02-08 19:28:51 +00:00
undefined.c Impleent COMPAT_FREEBSD32 for arm64. 2019-01-13 19:49:46 +00:00
unwind.c
vfp.c Instead of ignoring the VFP registers, set the dumppcb's pcb_fpusaved 2018-05-18 13:28:02 +00:00
vm_machdep.c Utilize ASIDs to reduce both the direct and indirect costs of context 2019-11-03 17:45:30 +00:00