Posted (Jan. 6, 2011, 8:32 p.m.)
There are a few problems with this. First, this is an indirect way to get around the problem. It looks like IntDev can be constructed with no latency argument which defaults to 0 which is why the call to sendTiming/schedule would fail. A better fix would be to pass the right latency to the constructor of IntDev so it has the right value as apposed to passing it in when needed (ignoring the stored value as well). Second, the latency being used in interrupts.cc is actually the pio_latency which is the latency for accessing the memory mapped registers in the local APIC. This is not necessarily the latency that should be used for sending interrupts. It looks like the IO APIC has an int_latency parameter, and it would make sense to put one on the local APIC too. Bringing it all around, that would then go to the IntDev constructor.
Review request changed
Updated (Jan. 10, 2011, 6:36 a.m.)
Description: |
|
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+4 -1) |