HomeFreeBSD

xen: fix dispatching of NMIs

Description

xen: fix dispatching of NMIs

Currently NMIs are sent over event channels, but that defeats the
purpose of NMIs since event channels can be masked. Fix this by
issuing NMIs using a hypercall, which injects a NMI (vector #2) to the
desired vCPU.

Note that NMIs could also be triggered using the emulated local APIC,
but using a hypercall is better from a performance point of view
since it doesn't involve instruction decoding when not using x2APIC
mode.

Reported and Tested by: avg
Sponsored by: Citrix Systems R&D

Details

Provenance
roygerAuthored on Nov 12 2019, 10:31 AM
Parents
rGc082b391b0e2: reverting r354594
Branches
Unknown
Tags
Unknown