-
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
split INTRNG main file into two files #1285
base: main
Are you sure you want to change the base?
Commits on Nov 6, 2024
-
intrng: split intr_describe_irq()
intr_describe_irq() was mixing two operations together. There was the mapping step and the underlying intr_event_describe_handler() call. Split these two steps apart to match other portions of the interface. Differential Revision: https://reviews.freebsd.org/D39333
Configuration menu - View commit details
-
Copy full SHA for 5d0ea82 - Browse repository at this point
Copy the full SHA 5d0ea82View commit details -
intr/x86: purge ->is_handlers value
Use of the macro CK_SLIST_EMPTY() on ->is_event->ie_handlers readily substitues for the value ->is_handlers. While only minor shrinkage of struct intsrc, small reductions do accumulate. Update the i8254 hack to work with this setup.
Configuration menu - View commit details
-
Copy full SHA for c823d3b - Browse repository at this point
Copy the full SHA c823d3bView commit details -
x86/intr: match intr_add_handler() to other architectures
Making INTRNG's intr_add_handler() act similarly to x86's would be a bit troublesome. As such modify x86's functionality. Currently INTRNG uses a bit array to indicate processor restriction, so remove the domain to allow matching.
Configuration menu - View commit details
-
Copy full SHA for ed61fc1 - Browse repository at this point
Copy the full SHA ed61fc1View commit details -
intrng: expose lower-level device interface for INTRNG
Specialized peripheral PIC drivers may need to handle most interrupt setup steps themselves without touching newbus. Two cases are intr_add_handler() and intr_describe() which are internally used by `intr_setup_irq()`/`intr_describe_irq()`. Exposing these allow for alternative use case. In fact the BUS interface for INTRNG is arguably a layering violation. Those 6 functions could just as well be in nexus.c or a kernel library. Differential Revision: https://reviews.freebsd.org/D39333
Configuration menu - View commit details
-
Copy full SHA for 332afe3 - Browse repository at this point
Copy the full SHA 332afe3View commit details -
intrng: handle intr_describe() being passed NULL cookies
Handle the situation as a request to update the interrupt table name, without updating the event name.
Configuration menu - View commit details
-
Copy full SHA for c4e4ba6 - Browse repository at this point
Copy the full SHA c4e4ba6View commit details -
intrng: adjust intr_teardown_irq() to use intr_describe()
intr_teardown_irq() is PIC-level, while intrcnt_updatename() is interrupt-level. As such, intr_teardown_irq() should use the next layer of function, instead of an interrupt-internal function.
Configuration menu - View commit details
-
Copy full SHA for 1c0d181 - Browse repository at this point
Copy the full SHA 1c0d181View commit details -
intrng: split intr_isrc_assign_cpu()
intr_isrc_assign_cpu() failed to split the intr_event functionality from the assignment functionality. The actual assignment is a PIC-level operation and as such should be separate.
Configuration menu - View commit details
-
Copy full SHA for 5279aeb - Browse repository at this point
Copy the full SHA 5279aebView commit details -
intrng: switch PIC interface to use pic_list_lock
Using isrc_table_lock for these functions violates layering. Instead use pic_list_lock, which isn't quite proper, but matches the layer these functions are located.
Configuration menu - View commit details
-
Copy full SHA for f0bc415 - Browse repository at this point
Copy the full SHA f0bc415View commit details -
intrng: break PIC functionality off of main INTRNG file
This should serve to truly split things into layers. Perhaps this could then be used on x86 and serve to continue unifying interrupt frameworks.
Configuration menu - View commit details
-
Copy full SHA for 3955e6d - Browse repository at this point
Copy the full SHA 3955e6dView commit details