diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-01-24 16:29:29 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-02-17 09:58:22 -0600 |
commit | aa24822bdc7c4e74afbc6fa1324b01cf067da7cb (patch) | |
tree | 169e7b7e85693bef2ed3a9cc677830ff148b8e46 /hw/i8259_common.c | |
parent | 4aa5d2853a69d95f5e05bd02200dfc6f47cab9de (diff) |
i8259: Do not clear level-triggered lines in IRR on init
When an input line is handled as level-triggered, it will immediately
raise an IRQ on the output of a PIC again that goes through an init
reset. So only clear the edge-triggered inputs from IRR in that
scenario.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/i8259_common.c')
-rw-r--r-- | hw/i8259_common.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/i8259_common.c b/hw/i8259_common.c index 775fda453c..ab3d98b2a1 100644 --- a/hw/i8259_common.c +++ b/hw/i8259_common.c @@ -28,7 +28,7 @@ void pic_reset_common(PICCommonState *s) { s->last_irr = 0; - s->irr = 0; + s->irr &= s->elcr; s->imr = 0; s->isr = 0; s->priority_add = 0; |