mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
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
1 changed files with 4 additions and 2 deletions
|
@ -354,8 +354,10 @@ static void sifive_plic_irq_request(void *opaque, int irq, int level)
|
||||||
{
|
{
|
||||||
SiFivePLICState *s = opaque;
|
SiFivePLICState *s = opaque;
|
||||||
|
|
||||||
sifive_plic_set_pending(s, irq, level > 0);
|
if (level > 0) {
|
||||||
|
sifive_plic_set_pending(s, irq, true);
|
||||||
sifive_plic_update(s);
|
sifive_plic_update(s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sifive_plic_realize(DeviceState *dev, Error **errp)
|
static void sifive_plic_realize(DeviceState *dev, Error **errp)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue