freebsd-dev/sys/x86
Alexander Motin aba10e131f Allow swi_sched() to be called from NMI context.
For purposes of handling hardware error reported via NMIs I need a way to
escape NMI context, being too restrictive to do something significant.

To do it this change introduces new swi_sched() flag SWI_FROMNMI, making
it careful about used KPIs.  On platforms allowing IPI sending from NMI
context (x86 for now) it immediately wakes clk_intr_event via new IPI_SWI,
otherwise it works just like SWI_DELAY.  To handle the delayed SWIs this
patch calls clk_intr_event on every hardclock() tick.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D25754
2020-07-25 15:19:38 +00:00
..
acpica Call acpi_pxm_set_proximity_info() slightly earlier on x86. 2020-05-14 16:07:27 +00:00
bios Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
conf Floppy driver really only works on x86 2019-08-12 22:58:50 +00:00
cpufreq Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
include Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
iommu Move Intel GAS to dev/iommu/ as now a part of generic iommu framework. 2020-07-25 11:34:50 +00:00
isa Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
pci Add pci_early function to detect Intel stolen memory. 2018-10-31 23:17:00 +00:00
x86 Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
xen Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00