On Mon, Jun 29, 2020 at 03:59:25PM +0200, Paolo Bonzini wrote: > On 29/06/20 15:46, Vitaly Kuznetsov wrote: > >> + if (!lapic_in_kernel(vcpu)) > >> + return 1; > >> + > > I'm not sure how much we care about !lapic_in_kernel() case but this > > change should be accompanied with userspace changes to not expose > > KVM_FEATURE_ASYNC_PF_INT or how would the guest know that writing a > > legitimate value will result in #GP? > > Almost any pv feature is broken with QEMU if kernel_irqchip=off. I > wouldn't bother and I am seriously thinking of dropping all support for > that, including: Heh, based on my limited testing, that could be "Almost everything is broken with Qemu if kernel_irqchip=off". > - just injecting #UD for MOV from/to CR8 unless lapic_in_kernel() > > - make KVM_INTERRUPT fail unless irqchip_in_kernel(), so that > KVM_INTERRUPT is only used to inject EXTINT with kernel_irqchip=split > > Paolo > > > Alternatively, we may just return '0' here: guest will be able to check > > what's in the MSR to see if the feature was enabled. Normally, guests > > shouldn't care about this but maybe there are cases when they do? > > >