-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intrng: adjusting pic_init_secondary for further use cases #1280
base: main
Are you sure you want to change the base?
Conversation
The conversion from There was an objection to the initial implementation, but no updates have been seen in Phabricator, so I'm dumping this on GitHub which seems better at getting these pushed through. |
This was simply rebased to aid keeping track of local branches, everything is identical to the original. Notably the CI pass is still valid. |
Note to @jrtc27, you had pointed to an issue and objected in Phabricator. This has a simple solution to the issue, but you never updated in Phabricator. I'm unsure how GitHub handles mentions, but your review would be appropriate. |
3256e6c
to
2cdd3aa
Compare
I'm planning to update to FreeBSD's HEAD soon. There will be a rebase in a few hours. |
be8fedc
to
cd0e1ac
Compare
The issue in the final commit is still there. The present mechanism is As the comment in
Good news is #1363 can be leveraged as an alternative for the case I'm looking at, but I imagine someone else is going to end up stuck here in the future. Since I've got a workaround, I guess I have to leave this as a draft. |
Switch to INTR_ROOT_COUNT as this better matches the purpose of the value. Remove the default from the core. Better to require the architectures to declare the type since they will routinely deviate and a default chosen now will likely be suboptimal.
There is potential for non-root PICs to need per-processor initialization. Few root PICs try to propogate the call. As such add a pass of calling pic_init_secondary() on all children with a non-root value. Differential Revision: https://reviews.freebsd.org/D40474
Given how things are shaping up, this might be superior for my purpose. Alas as the comments mention, what about setup for non-PIC devices with PPI interrupts? |
Issue is
pic_init_secondary()
was implemented for root PICs-only. The author's theory appears to have been the root calls the function on child PICs. At least one secondary PIC needs the function called, but the device-tree doesn't have it as a child of the root PIC. As such instead simply calling the function on all registered PICs appears to make more sense.