OSDN Git Service

hw/intc: Set GIC maintenance interrupt level to only 0 or 1
authorShashi Mallela <shashi.mallela@linaro.org>
Mon, 20 Sep 2021 08:54:34 +0000 (09:54 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 20 Sep 2021 08:54:34 +0000 (09:54 +0100)
commit9cee1efe92d343b2d729cb074d4d30571bbd1e54
tree95a8c1b7d37961a2ec8ecff69428740abf3b70ac
parent1426f2449eab988ccacfc2d444af7352eabbf8d2
hw/intc: Set GIC maintenance interrupt level to only 0 or 1

During sbsa acs level 3 testing, it is seen that the GIC maintenance
interrupts are not triggered and the related test cases fail.  This
is because we were incorrectly passing the value of the MISR register
(from maintenance_interrupt_state()) to qemu_set_irq() as the level
argument, whereas the device on the other end of this irq line
expects a 0/1 value.

Fix the logic to pass a 0/1 level indication, rather than a
0/not-0 value.

Fixes: c5fc89b36c0 ("hw/intc/arm_gicv3: Implement gicv3_cpuif_virt_update()")
Signed-off-by: Shashi Mallela <shashi.mallela@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210915205809.59068-1-shashi.mallela@linaro.org
[PMM: tweaked commit message; collapsed nested if()s into one]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/intc/arm_gicv3_cpuif.c