> > kvm_before_interrupt(vcpu, KVM_HANDLING_IRQ); > - vmx_do_interrupt_irqoff(gate_offset(desc)); > + if (cpu_feature_enabled(X86_FEATURE_FRED)) > + vmx_do_fred_interrupt_irqoff(vector); > + else > + vmx_do_interrupt_irqoff(gate_offset((gate_desc *)host_idt_base external_interrupt() is always available on x86_64, even when CONFIG_X86_FRED is not defined. I prefer to always call external_interrupt() on x86_64 for IRQ handling, which avoids re-entering noinstr code. how do you think? Too aggressive? Thanks! Xin > + > +vector)); > kvm_after_interrupt(vcpu);