openpic: IRQ_check: search the queue a word at a time
Search the queue more efficiently by first looking for a non-zero word,and then using the common bit-searching function to find the bit withinthe word. It would be even nicer if bitops_ffsl() could be hooked up...
openpic: move IACK to its own function
Besides making the code cleaner, we will need a separate way to accessIACK in order to implement EPR (external proxy) interrupt delivery.
Signed-off-by: Scott Wood <scottwood@freescale.com>Signed-off-by: Alexander Graf <agraf@suse.de>
openpic: fix CTPR and de-assertion of interrupts
Properly implement level-triggered interrupts by withdrawing aninterrupt from the raised queue if the interrupt source de-asserts.Also withdraw from the raised queue if the interrupt becomes masked.
When CTPR is written, check whether we need to raise or lower the...
kvm: Update kernel headers
Corresponding kvm.git hash: 18eb54cf4a
Signed-off-by: Alexander Graf <agraf@suse.de>
openpic/fsl: critical interrupts ignore mask before v4.1
Signed-off-by: Scott Wood <scottwood@freescale.com>[agraf: make bool :1]Signed-off-by: Alexander Graf <agraf@suse.de>
openpic: always call IRQ_check from IRQ_get_next
Previously the code relied on the queue's "next" field gettingset to -1 sometime between an update to the bitmap, and the nextcall to IRQ_get_next. Sometimes this happened after the update.Sometimes it happened before the check. Sometimes it didn't happen...
Revert "openpic: Accelerate pending irq search"
This reverts commit a9bd83f4c65de0058659ede009fa1a241f379edd.
This counting approach is not robust against setting a bit thatwas already set, or clearing a bit that was already clear. Perhapsthat is considered a bug, but besides the lack of any documentation...
openpic: use standard bitmap operations
Besides the private implementation being redundant, namespace collisionsprevented the use of other things in bitops.h.
Serialization does get a bit more awkward, unfortunately, since thestandard bitmap operations are "unsigned long" rather than "uint32_t",...
openpic: add some bounds checking for IRQ numbers
The two checks with abort() guard against potential QEMU-internalproblems, but the EOI check stops the guest from causing updates to queueposition -1 and other havoc if it writes EOI with no interrupt in...
openpic: fix sense and priority bits
Previously, the sense and priority bits were masked off when writingto IVPR, and all interrupts were treated as edge-triggered (despitethe existence of code for handling level-triggered interrupts).
Polarity is implemented only as storage. We don't simulate the...
View all revisions | View revisions
Also available in: Atom