Zwane Mwaikambo wrote:
Hello Zach,
On Tue, 14 Mar 2006, Zachary Amsden wrote:
It could be possible to change the semantics of the interrupt masking
interface in Linux, such that enable_interrupts() did just that - but did not
yet deliver pending IRQs. As did restore_interrupt_mask(). This would
require inspection of many drivers to ensure that they don't rely on those
actions causing immediate interrupt delivery. And if they did, they would
require a call, say, deliver_pending_irqs() to accomplish that.
I think we can break these down into low level and higher level interrupt
enabling. Lower level tends to be call sites like exception entry, in that
particular case drivers aren't aware of the interrupt enable/disable
semantics so it's safe to enable without dispatch. Higher up is where
dispatch makes sense and we can closer mimick hardware.
Yes, there may clearly be a benefit to having a low level / high level
separation - say STI / PUSHF / POPF, and EnableInterrupts,
SaveInterruptFlag, RestoreInterruptFlag. I didn't want to do that yet,
since it adds bulk to the interface, but there clearly is some value
there. And as you point out, it does save a driver audit.
Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]