On 5/20/25 01:27, Sean Christopherson wrote:
This series is prep work for the big device posted IRQs overhaul[1], in which
Paolo suggested getting rid of arch/x86/kvm/irq_comm.c[2]. As I started
chipping away bits of irq_comm.c to make the final code movement to irq.c as
small as possible, I realized that (a) a rather large amount of irq_comm.c was
actually I/O APIC code and (b) this would be a perfect opportunity to further
isolate the I/O APIC code.
So, a bit of hacking later and voila, CONFIG_KVM_IOAPIC. Similar to KVM's SMM
and Xen Kconfigs, this is something we would enable in production straightaway,
if we could magically fast-forwarded our kernel, as fully disabling I/O APIC
emulation puts a decent chunk of guest-visible surface entirely out of reach.
Side topic, Paolo's recollection that irq_comm.c was to hold common APIs between
x86 and Itanium was spot on. Though when I read Paolo's mail, I parsed "ia64"
as x86-64. I got quite a good laugh when I eventually realized that he really
did mean ia64 :-)
I totally did!
Looks good, other than the small comments here and there that you
received and my "preference" for keeping kvm_setup_default_irq_routing()
a separate function.
Thanks,
Paolo