On Thu, 22 Sep 2016 21:57:39 +0200 Radim Krčmář <rkrc...@redhat.com> wrote:
> 2016-09-22 16:36+0200, Paolo Bonzini: > > On 22/09/2016 14:50, Igor Mammedov wrote: > >> +#ifdef KVM_CAP_X2APIC_API > >> + if (kvm_check_extension(s, KVM_CAP_X2APIC_API)) { > >> + has_x2apic_ids = !kvm_vm_enable_cap(s, KVM_CAP_X2APIC_API, 0, > >> + KVM_X2APIC_API_USE_32BIT_IDS); > >> + } > >> +#endif > >> + > > > > Radim, whose patches are going to set > > KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK? > > I added kvm_enable_x2apic() helper for intel_iommu that enables both, > because we really want to make sure that both are enabled before > allowing EIM. (And then I didn't post those patches ... ameding that > after a rebase and a quick retest.) I can include those patches along with this series > We'd better forbid APIC IDs above 255 without "intel_iommu,eim=on", so > reusing kvm_enable_x2apic() and enabling both in Igor's patches would be > just a bit nicer. Is it possible on real hw to start system with APIC IDs above 255 but with EIM or even whole IOMMU disabled? Btw: Are EIM patches merged, current master says: -device intel-iommu,intremap=on,eim=on: Property '.eim' not found we can do eim check at pc_machine_done() time and as well check for correct(supported) IOMMU type /split/. Maybe it should be part of EIM patches. > Having separate KVM_X2APIC_API_USE_32BIT_IDS and > KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK isn't as useful as I thought it > would be ...