hw/i386/mshv: drop initial msi vector 0
This has been a warning before that was always raised if the machine has a hpet. hpet_reset() will eventually result in mshv_send_msi called w/ vector 0, which we can safely drop. Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com> Link: https://lore.kernel.org/r/20260710101534.664604-13-magnuskulke@linux.microsoft.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Magnus Kulke committed
Jul 10, 2026 at 12:15 UTC
24bf07b6e2e3fc99c65035ffa778951cbcbfb475
1 file changed
+10
hw/i386/mshv/apic.c
+10
@@ -293,6 +293,16 @@ static void mshv_send_msi(MSIMessage *msi)
293
delivery = (data >> MSI_DATA_DELIVERY_MODE_SHIFT) &
294
MSI_DATA_DELIVERY_MODE_MASK;
295
296
+ /*
297
+ * Vector 0 is not a valid interrupt vector (0-15 are reserved for CPU
298
+ * exceptions). This can trigger during machine reset, if hpet_reset()
299
+ * forces the PIT to pulse GSI 2 before IOAPIC's own reset has masked its
300
+ * redirection entries.
301
+ */
302
+ if (vector == 0) {
303
+ return;
304
+ }
305
+
306
mshv_request_interrupt(mshv_state, delivery, vector, dest, dest_mode,
307
trigger_mode);
308
}