Page MenuHomeFreeBSD

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

Authored by ehem_freebsd_m5p.com on Dec 13 2022, 9:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 9, 3:38 AM
Unknown Object (File)
Tue, Nov 5, 2:18 PM
Unknown Object (File)
Fri, Oct 25, 1:56 PM
Unknown Object (File)
Thu, Oct 17, 6:37 AM
Unknown Object (File)
Wed, Oct 16, 3:58 PM
Unknown Object (File)
Wed, Oct 16, 12:21 AM
Unknown Object (File)
Tue, Oct 15, 9:52 AM
Unknown Object (File)
Tue, Oct 15, 5:40 AM
Subscribers

Details

Summary

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

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.

This revision is now accepted and ready to land.May 10 2024, 8:03 PM