DragonFly kernel List (threaded) for 2005-06
Re: mtd_cpl question
I've been thinking more about MSI and the CPL... that issue of dealing
with more then 32 interrupt vectors, and I think I've come up with a
As we begin to remove the CPL/SPL support we are still left with the
issue of how to record interrupt events which cannot be immediately
dispatched. Right now we have 'ipending', 'fpending', and so forth
This is going to require two steps:
* We have to remove CPL/SPL support entirely.
* Instead of setting a bit in e.g. gd_ipending when an interrupt cannot
be immediately processed, I will take a page from an embedded project
I did 20 years ago were I used a tail-chasing FIFO to simply record
This will remove our dependancy on IRQ bitmasks entirely and make it a
whole lot easier to implement e.g. MSI.
I will do #1 today, simply by replacing all current SPL operations with
a critical section.
#2 will take a bit longer because I want to move as much of our current
interrupt code assembly into C code as I can.