"Normal PIC" and "MSI PIC" are not mutually exclusive. Many controllers
perform both tasks, so merge records for both types together.
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 56111 Build 52999: arc lint + arc unit
Event Timeline
This is another approach to the issue pointed out in D40474, mainly using ->pic_flags as flags and allowing a pic_list entry to fill both roles.
Another variant of this strategy would be to add a pair of boolean arguments to intr_pic_register() so the caller would indicate which roles they can fill. This variant could be argued to be better as each layer of the implementation could get its own pic_list entry.
Notes: A bunch of the pic_*() functions in INTRNG declare their flags arguments as int which is wrong. Seems overkill to send that commit through Phabricator (could be handed off with patches/commits for D40474/D43980). I also have a cleanup commit which includes merging all those redundant KASSERT() together. This is silly to test pic_lookup() was implemented correctly in so many places.
Any word on D43980? Does seem appropriate to only create a single pic_list entry for combined PIC/MSI controllers.
Ping!
Does the silence mean it is now time to move this onto GitHub for landing? (may be better since this covers more than 1 commit)
Rounding up reviewers and getting reviews updated seems to get done more effectively via GitHub. I'm concerned about GitHub's handling of open source projects, but if that is the only way to make progress...
The problem which this was a part of solving looks like it will be dealt with via other means. As such dumping this.