@samitouri / QOSamiQemu / commits / 24bf07b6e2

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 }