mirror of https://github.com/xemu-project/xemu.git
hw/intc: Don't clear pending bits on IRQ lowering
According to PLIC specification (chapter 5), there is only one case, when interrupt is claimed. Fix PLIC controller to match this behavior. Signed-off-by: Sergey Makarov <s.makarov@syntacore.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20240918140229.124329-3-s.makarov@syntacore.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
41fc1f0294
commit
a84be2baa9
|
@ -354,8 +354,10 @@ static void sifive_plic_irq_request(void *opaque, int irq, int level)
|
|||
{
|
||||
SiFivePLICState *s = opaque;
|
||||
|
||||
sifive_plic_set_pending(s, irq, level > 0);
|
||||
sifive_plic_update(s);
|
||||
if (level > 0) {
|
||||
sifive_plic_set_pending(s, irq, true);
|
||||
sifive_plic_update(s);
|
||||
}
|
||||
}
|
||||
|
||||
static void sifive_plic_realize(DeviceState *dev, Error **errp)
|
||||
|
|
Loading…
Reference in New Issue