freebsd-dev/sys/i386
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 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
bios Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
cloudabi32 Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
conf Include TMPFS in all the GENERIC kernel configs 2020-07-24 08:40:04 +00:00
i386 Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
include amd64: allow parallel shootdown IPIs 2020-07-14 20:37:50 +00:00
linux Regen after r363304. 2020-07-18 11:31:31 +00:00
pci Detect invalid PCI devices more correctly in PCI interrupt router drivers. 2019-08-06 23:15:04 +00:00
Makefile Remove iBCS2, part2: general kernel 2018-12-19 21:57:58 +00:00