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.
Details
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.