Page MenuHomeFreeBSD

kern/intr: remove support for passing trap frame as argument
Needs ReviewPublic

Authored by on Dec 13 2022, 9:45 PM.
Referenced Files
Unknown Object (File)
Dec 27 2023, 8:28 AM
Unknown Object (File)
Dec 23 2023, 1:47 AM
Unknown Object (File)
Dec 10 2023, 9:41 AM
Unknown Object (File)
Nov 9 2023, 7:39 AM
Unknown Object (File)
Oct 13 2023, 9:02 PM
Unknown Object (File)
Oct 8 2023, 6:34 AM
Unknown Object (File)
Sep 6 2023, 7:05 AM
Unknown Object (File)
Aug 25 2023, 1:07 PM



While otherwise a handy potential approach, getting the trap frame via
the argument isn't documented and isn't supposed to be used. With all
uses removed, now remove support to end the mixed calling conventions.

Diff Detail

rG FreeBSD src repository
Lint Passed
No Test Coverage
Build Status
Buildable 48704
Build 45590: arc lint + arc unit

Event Timeline

Presently there are 4 uses of the NULL => trap_frame functionality. xenpci_intr_filter() in sys/dev/xen/xenpci/xenpci.c, which gets removed by D30006. xen_ipi_bitmap_handler() and xen_ipi_swi_handler() in sys/x86/xen/xen_apic.c. Lastly pmu_intr() in sys/arm/arm/pmu.c.

As long as no one tries to add new uses, this seems to have potential for 14.0.

Alerting everyone this is on the horizon. A check 3 weeks ago showed there are 3 remaining places where this is utilized. I've got patches out trying to get them nuked while bypassing Phabricator (they're trivial), but am presently waiting on news. Those are in the files sys/arm/arm/pmu.c and sys/x86/xen/xen_apic.c.

I was under the impression this has been deprecated for several years, but no one had made a deliberate attempt to locate all uses and clear them. Yet this is now almost ready.

The only remaining usage of this is sys/arm/arm/pmu.c. If that can get removed then it become possible to use NULL as a handler argument. I can turn that removal into a review/differential if someone desires, but seems trivial enough to simply commit if someone has a chance.

Almost the end of this cruft.