Bug Report
During stress testing on the zone1-android VM, the hypervisor logs are spammed with [WARN 4/5/6/7] hvisor::device::irqchip::gicv3:131 not konw irq id = 23.
Cause
The gicv3_handle_irq_el1 function currently uses a hardcoded if-else chain that explicitly handles only a few PPIs (e.g., Virtual Timer 27, Maintenance 25) but fails to recognize other standard ARMv8 PPIs. Specifically, IRQ 23 is the PMU (Performance Monitor Unit) interrupt, which is heavily triggered by the Guest OS during profiling or stress testing.
Bug Report
During stress testing on the zone1-android VM, the hypervisor logs are spammed with
[WARN 4/5/6/7] hvisor::device::irqchip::gicv3:131 not konw irq id = 23.Cause
The
gicv3_handle_irq_el1function currently uses a hardcodedif-elsechain that explicitly handles only a few PPIs (e.g., Virtual Timer 27, Maintenance 25) but fails to recognize other standard ARMv8 PPIs. Specifically, IRQ 23 is the PMU (Performance Monitor Unit) interrupt, which is heavily triggered by the Guest OS during profiling or stress testing.