[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 6/8] intel_iommu: reject broken EIM
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v4 6/8] intel_iommu: reject broken EIM |
Date: |
Sat, 8 Oct 2016 15:21:00 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Wed, Oct 05, 2016 at 03:06:55PM +0200, Radim Krčmář wrote:
[...]
> @@ -2472,10 +2473,22 @@ static bool vtd_decide_config(IntelIOMMUState *s,
> Error **errp)
> }
>
> if (s->intr_eim == ON_OFF_AUTO_AUTO) {
> - s->intr_eim = x86_iommu->intr_supported ?
> + s->intr_eim = x86_iommu->intr_supported && kvm_irqchip_in_kernel() ?
> ON_OFF_AUTO_ON :
> ON_OFF_AUTO_OFF;
> }
>
> + if (s->intr_eim == ON_OFF_AUTO_ON) {
> + if (kvm_irqchip_in_kernel() && !kvm_enable_x2apic()) {
> + error_setg(errp, "eim=on requires support on the KVM side"
> + "(X2APIC_API, first shipped in v4.7)");
> + return false;
> + }
> + if (!kvm_irqchip_in_kernel()) {
> + error_setg(errp, "eim=on requires
> accel=kvm,kernel-irqchip=split");
> + return false;
> + }
I would prefer:
if (kvm_irqchip_in_kernel()) {
if (!kvm_enable_x2apic()) {
error("enable x2apic failed");
return false;
}
} else {
error("need split irqchip");
return false;
}
But that's really a matter of taste. So:
Reviewed-by: Peter Xu <address@hidden>
[Qemu-devel] [PATCH v4 4/8] intel_iommu: redo configuraton check in realize, Radim Krčmář, 2016/10/05
[Qemu-devel] [PATCH v4 6/8] intel_iommu: reject broken EIM, Radim Krčmář, 2016/10/05
- Re: [Qemu-devel] [PATCH v4 6/8] intel_iommu: reject broken EIM,
Peter Xu <=
[Qemu-devel] [PATCH v4 5/8] intel_iommu: add OnOffAuto intr_eim as "eim" property, Radim Krčmář, 2016/10/05
[Qemu-devel] [PATCH v4 7/8] intel_iommu: keep buggy EIM enabled in 2.7 machine type, Radim Krčmář, 2016/10/05