]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
xen/intr: rework xen_intr_resume() for in-place remapping
authorElliott Mitchell <ehem+freebsd@m5p.com>
Tue, 1 Jun 2021 01:34:33 +0000 (18:34 -0700)
committerRoger Pau Monné <royger@FreeBSD.org>
Wed, 29 Mar 2023 07:51:45 +0000 (09:51 +0200)
commitb94341afcb12dac74825ac6fb140e2819760b00d
treeec4e998cabce854358a92e8f447fbc215f86e24a
parente45c8ea31cd89feda2b5b31bd623f4879602aec5
xen/intr: rework xen_intr_resume() for in-place remapping

The prior implementation of xen_intr_resume() was wiping
xen_intr_port_to_isrc[] and then rebuilding from the x86 interrupt
table.  Rework to instead wipe the channel numbers (->xi_port) and then
scan the table for sources with invalid channels.

This will be slower due to scanning the whole table, but this removes
the dependency on the x86 interrupt code.

Reviewed by: royger
Differential Revision: https://reviews.freebsd.org/D30599
[royger]
Split line over 80 characters.
sys/x86/xen/xen_intr.c