On 07/05/2010 04:24 PM, Jan Kiszka wrote:
But how to deal with multiple acks per input due to multiple open outputs (not just to different CPUs)?
That will be very rare (i.e. guest bug).
We either need to enable the router to filter redundant information or support the injection source with processing all acks properly. And is there some scenario where the time-keeping device is sharing its IRQ line with some other device? De-coalescing workarounds would not work then if they were notifier based.
In that case the timekeeping device needs to expose some kind of register the guest reads, to distinguish among the various sources. If that's the case, then the qemu timekeeping code can look at accesses to this register instead of acks/deliveries.
-- error compiling committee.c: too many arguments to function