On 21.04.2022 15:21, Roger Pau Monne wrote:
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -267,12 +267,47 @@ void __ioapic_write_entry(
> unsigned int apic, unsigned int pin, bool raw,
> struct IO_APIC_route_entry e)
> {
> -union entry_union eu = { .entry = e };
When writing an IO-APIC RTE entry make sure incoming interrupts never
see a partially updated entry, by masking the pin while doing the
update when necessary. Add some logic to attempt to limit the number
of writes.
With the masking now handled by __ioapic_write_entry itself when
necessary, we ca