On Fri, Jan 17, 2025, Kai Huang wrote: > On Fri, 2025-01-17 at 09:53 +0000, Huang, Kai wrote: > > Btw, IIUC, in case of IRQCHIP split, KVM uses KVM_IRQ_ROUTING_MSI for routes of > > GSIs. But it seems KVM only allows level-triggered MSI to be signaled (which is > > a surprising): > > > > int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e, > > struct kvm *kvm, int irq_source_id, int level, bool line_status) > > { > > struct kvm_lapic_irq irq; > > > > if (kvm_msi_route_invalid(kvm, e)) > > return -EINVAL; > > > > if (!level) > > return -1; > > > > kvm_set_msi_irq(kvm, e, &irq); > > > > return kvm_irq_delivery_to_apic(kvm, NULL, &irq, NULL); > > } > > Ah sorry this 'level' is not trig_mode. Please ignore :-) Yeah :-( I have misread the use of "level" so, so many times in KVM's IRQ code.