qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 08/15] hw/arm_gic.c: lower IRQ only on changing


From: Paul Brook
Subject: Re: [Qemu-devel] [PATCH 08/15] hw/arm_gic.c: lower IRQ only on changing of enable bit.
Date: Fri, 9 Dec 2011 15:55:01 +0000
User-agent: KMail/1.13.7 (Linux/3.1.0-1-amd64; KDE/4.6.5; x86_64; ; )

> In previous version IRQ was lowered every time if enable bits were
> not set. If platform has splitted IRQ source to pass IRQ to two
> identical GICs simultaneously in first of which IRQ passing is
> enabled but in second is disabled, handling IRQ by second GIC would
> lower IRQ previously raised by first GIC.
> Linux kernel v3.0 faces this problem.
> The problem is avoided if IRQ is only lowered as result of
> transitioning enable bits to zeroes.

This is almost certainly wrong.  IRQ lines are state based, not event based. 
Re-asserting an existing level should always be a no-op.

My guess is your real bug it that your IRQ wiring is broken, and you have 
multiple outputs connected to a single input. Don't do that. Ever.  If you 
need to connent multiple output pins to a single input pin then you need an 
explicit device (e.g. an or gate) in between.

Paul



reply via email to

[Prev in Thread] Current Thread [Next in Thread]