HomeFreeBSD

MFC r360328 (by vangyzen):

Description

MFC r360328 (by vangyzen):
Fix handling of NMIs from unknown sources (BMC, hypervisor)

Release kernels have no KDB backends enabled, so they discard an NMI
if it is not due to a hardware failure. This includes NMIs from
IPMI BMCs and hypervisors.

Furthermore, the interaction of panic_on_nmi, kdb_on_nmi, and
debugger_on_panic is confusing.

Respond to all NMIs according to panic_on_nmi and debugger_on_panic.
Remove kdb_on_nmi. Expand the meaning of panic_on_nmi by making
it a bitfield. There are currently two bits: one for NMIs due to
hardware failure, and one for all others. Leave room for more.

If panic_on_nmi and debugger_on_panic are both true, don't actually panic,
but directly enter the debugger, to allow someone to leave the debugger
and [hopefully] resume normal execution.

Relnotes: yes: machdep.kdb_on_nmi is gone; machdep.panic_on_nmi changed

Details

Provenance
mavAuthored on
Parents
rS364001: Fix build after r363999.
Branches
Unknown
Tags
Unknown