Page MenuHomeFreeBSD

intr/x86: remove ->pic_vector() from x86 interrupt framework
AcceptedPublic

Authored by ehem_freebsd_m5p.com on Jun 5 2022, 7:15 PM.

Details

Reviewers
kib
markj
jhb
Summary

Retrieving the interrupt number from isrcs via a ->pic_vector() function
made sense when the current x86 interrupt framework was implemented.
Now having ->pic_vector() serves to unnecessarily increase complexity,
rather than adding useful functionality as all callers have the valua
readily available.

Diff Detail

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

Event Timeline

This revision is now accepted and ready to land.Jun 6 2022, 1:01 PM

Taking a look due while considering something else. I'm wondering about the argument order for intr_execute_handlers(). Should the vector argument be last instead of first? The thought is to mimic the argument order of intr_event_handle(). Issue is whether this reduces confusion or increases confusion?

sys/x86/include/intr_machdep.h
156

I would add a new field to struct intsrc in order to store the passed vector in intr_register_source(), so that the caller doesn't need to pass it again in intr_execute_handlers().