freebsd-dev/sys/dev/acpica
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
..
Osd Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
acpi_acad.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_apei.c Add initial driver for ACPI Platform Error Interfaces. 2020-07-27 21:19:41 +00:00
acpi_battery.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_bus_if.m Add the start of INTRNG support for ACPI. 2018-01-11 17:09:12 +00:00
acpi_button.c Expose the ACPI power button, sleep button and LID state as evdev's. 2020-03-02 09:45:06 +00:00
acpi_cmbat.c Add workaround for models which do not follow the ACPI specification strictly. 2020-02-27 17:13:57 +00:00
acpi_container.c Distinguish _CID match and _HID match and make lower priority probe 2018-10-26 00:05:46 +00:00
acpi_cpu.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_dock.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_ec.c acpi_ec(4): Don't probe erroneously if success occurred 2020-04-23 17:30:03 +00:00
acpi_hpet.c acpi_hpet: Add Hygon Dhyana support. 2020-02-07 22:26:11 +00:00
acpi_hpet.h
acpi_if.m Add _BIX (Battery Information Extended) object support. 2020-02-19 06:28:55 +00:00
acpi_isab.c Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
acpi_lid.c Send Lid status notification via devd from acpi_lid_status_update. 2020-05-16 01:50:28 +00:00
acpi_package.c Add _BIX (Battery Information Extended) object support. 2020-02-19 06:28:55 +00:00
acpi_pci_link.c Detect invalid PCI devices more correctly in PCI interrupt router drivers. 2019-08-06 23:15:04 +00:00
acpi_pci.c Rename dmar_get_dma_tag() to acpi_iommu_get_dma_tag(). 2020-05-26 16:40:40 +00:00
acpi_pcib_acpi.c Add mostly dummy hw.pci.enable_aspm tunable. 2020-06-26 19:55:11 +00:00
acpi_pcib_pci.c
acpi_pcib.c acpica: rework INTRNG interrupts 2018-11-19 03:02:47 +00:00
acpi_pcibvar.h
acpi_pcivar.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
acpi_perf.c
acpi_powerres.c
acpi_pxm.c Call acpi_pxm_set_proximity_info() slightly earlier on x86. 2020-05-14 16:07:27 +00:00
acpi_quirk.c Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
acpi_quirks
acpi_resource.c All the ARM Coresight interconnect devices set ResourceProducer on memory 2020-06-10 14:39:54 +00:00
acpi_smbat.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_smbus.h
acpi_thermal.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
acpi_throttle.c
acpi_timer.c Remove double-calls to tc_get_timecount() to warm timecounters. 2020-06-10 22:30:32 +00:00
acpi_video.c acpi_video: try our best to work on systems without non-essential methods 2020-05-05 12:14:11 +00:00
acpi.c Add initial driver for ACPI Platform Error Interfaces. 2020-07-27 21:19:41 +00:00
acpiio.h Add _BIX (Battery Information Extended) object support. 2020-02-19 06:28:55 +00:00
acpivar.h Add acpi_iort_map_pci_smmuv3(). 2020-07-17 14:51:51 +00:00