Page MenuHomeFreeBSD

xen/intr: merge parts of resume functionality into new function
Needs ReviewPublic

Authored by on Jun 1 2021, 3:43 PM.



The portions of xen_rebind_ipi() and xen_rebind_virq() were already
near-identical. While xen_rebind_ipi() should panic() on
single-processor, still having the functionality to invoke seems

Meanwhile much of the loop from xen_intr_resume() seemed to want to be
closer to this same code. This pushes related bits closer together.

Diff Detail

rS FreeBSD src repository - subversion
Lint OK
No Unit Test Coverage
Build Status
Buildable 42600
Build 39488: arc lint + arc unit

Event Timeline

Fixing a bug which was found while glancing at this delta.

Removing one line which really should have been removed before.

Move the isrc->xi_cpu = 0; line lower, hopefully hinting this is part of the xen_intr_assign_cpu() call.

Small update, keep panic strings closer to original, but add function name. Should make diagnosis easier if this ever gets triggered.

Fix a potential unused variable warning. Single-processor systems almost seem archaic, but we should still function on such.

Remove a bit more unused in case of uniprocessor code from uniprocessor builds. Such are actually rather more sensible in case of virtual machines...

Ugh! Hopefully finish the hunt for bits which disappear if uniprocessor.

Fixing issue discovered during review. The blanket wipe of ->xi_port in xen_intr_resume() can't be removed until D30599.

I'm wondering if I should merge D30599 into D30598. D30598 is simply a precursor to implementing D30599.

Another signed/unsigned update, sorry.

Another small update for the sign auditing.


Based on what I saw in D32866, I suspect there should be a intr_event_bind() here.

Updating to ensure consistency with what I've got. Should still apply, but updates on D30743 have made application unclean.