The emulated ARM SBSA UART is using level triggered IRQ semantics,
however the current VGIC can only handle edge triggered IRQs, really.
Disable the existing workaround for this problem in case we have the
new VGIC in place, which can properly handle level triggered IRQs.
Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
*/
ASSERT(spin_is_locked(&vpl011->lock));
+#ifndef CONFIG_NEW_VGIC
/*
* TODO: PL011 interrupts are level triggered which means
* that interrupt needs to be set/clear instead of being
vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, true);
vpl011->shadow_uartmis = uartmis;
+#else
+ vgic_inject_irq(d, NULL, GUEST_VPL011_SPI, uartmis);
+#endif
}
static uint8_t vpl011_read_data(struct domain *d)