[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/15] openpic/fsl: critical interrupts ignore mask
From: |
Scott Wood |
Subject: |
[Qemu-devel] [PATCH 08/15] openpic/fsl: critical interrupts ignore mask before v4.1 |
Date: |
Fri, 21 Dec 2012 20:15:45 -0600 |
Signed-off-by: Scott Wood <address@hidden>
---
hw/openpic.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index 9d22e9c..268f312 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -194,6 +194,7 @@ typedef struct IRQ_src_t {
bool level; /* level-triggered */
bool fslint; /* FSL internal interrupt -- level only */
bool fslspecial; /* FSL timer/IPI interrupt, edge, no polarity */
+ bool nomask; /* critical interrupts ignore mask on some FSL MPICs */
} IRQ_src_t;
#define IVPR_MASK_SHIFT 31
@@ -390,7 +391,7 @@ static void openpic_update_irq(OpenPICState *opp, int n_IRQ)
DPRINTF("%s: IRQ %d is not pending\n", __func__, n_IRQ);
return;
}
- if (src->ivpr & IVPR_MASK_MASK) {
+ if ((src->ivpr & IVPR_MASK_MASK) && !src->nomask) {
/* Interrupt source is disabled */
DPRINTF("%s: IRQ %d is disabled\n", __func__, n_IRQ);
return;
@@ -536,6 +537,7 @@ static inline void write_IRQreg_idr(OpenPICState *opp, int
n_IRQ, uint32_t val)
}
src->output = OPENPIC_OUTPUT_CINT;
+ src->nomask = true;
src->destmask = 0;
for (i = 0; i < opp->nb_cpus; i++) {
@@ -547,6 +549,7 @@ static inline void write_IRQreg_idr(OpenPICState *opp, int
n_IRQ, uint32_t val)
}
} else {
src->output = OPENPIC_OUTPUT_INT;
+ src->nomask = false;
src->destmask = src->idr & normal_mask;
}
} else {
--
1.7.9.5
- [Qemu-devel] [PATCH 00/15] openpic: cleanups and fixes, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 02/15] openpic: lower interrupt when reading the MSI register, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 04/15] ppc/booke: fix crit/mcheck/debug exceptions, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 01/15] openpic: fix debug prints, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 03/15] openpic: fix sense and priority bits, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 07/15] openpic: make ctpr signed, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 06/15] openpic: rework critical interrupt support, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 08/15] openpic/fsl: critical interrupts ignore mask before v4.1,
Scott Wood <=
- [Qemu-devel] [PATCH 10/15] Revert "openpic: Accelerate pending irq search", Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 12/15] openpic: IRQ_check: search the queue a word at a time, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 09/15] openpic: always call IRQ_check from IRQ_get_next, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 11/15] openpic: use standard bitmap operations, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 05/15] openpic: make register names correspond better with hw docs, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 15/15] openpic: fix CTPR and de-assertion of interrupts, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 13/15] openpic: add some bounds checking for IRQ numbers, Scott Wood, 2012/12/21
- [Qemu-devel] [PATCH 14/15] openpic: move IACK to its own function, Scott Wood, 2012/12/21