From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Xu Subject: Re: [PATCH kvm-unit-tests 17/17] x86/unittests: add intel-iommu test Date: Mon, 7 Nov 2016 13:06:27 -0500 Message-ID: <20161107180627.GM3719@pxdev.xzpeter.org> References: <1477468040-21034-1-git-send-email-peterx@redhat.com> <1477468040-21034-18-git-send-email-peterx@redhat.com> <20161104174623.2ura5xy6xe5hfpmd@kamzik.brq.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: kvm@vger.kernel.org, rkrcmar@redhat.com, agordeev@redhat.com, jan.kiszka@web.de, pbonzini@redhat.com To: Andrew Jones Return-path: Received: from mx1.redhat.com ([209.132.183.28]:45736 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932635AbcKGSQv (ORCPT ); Mon, 7 Nov 2016 13:16:51 -0500 Content-Disposition: inline In-Reply-To: <20161104174623.2ura5xy6xe5hfpmd@kamzik.brq.redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Nov 04, 2016 at 06:46:23PM +0100, Andrew Jones wrote: > On Wed, Oct 26, 2016 at 03:47:20PM +0800, Peter Xu wrote: > > I used pc-q35-2.7 instead of default q35 since I'd better make sure both > > QEMU 2.7/2.8 can run the test, which is to at least satisfy the > > following matrix: > > > > |----------+-----------+------------| > > | versions | KVM < 4.7 | KVM >= 4.7 | > > |----------+-----------+------------| > > | QEMU 2.7 | | | > > | QEMU 2.8 | | | > > |----------+-----------+------------| > > > > If using default q35, QEMU2.8+KVM<4.7 will fail to run. > > > > Signed-off-by: Peter Xu > > --- > > x86/unittests.cfg | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/x86/unittests.cfg b/x86/unittests.cfg > > index f760d8f..d59cf68 100644 > > --- a/x86/unittests.cfg > > +++ b/x86/unittests.cfg > > @@ -206,3 +206,10 @@ extra_params = -cpu kvm64,hv_time,hv_synic,hv_stimer -device hyperv-testdev > > file = hyperv_clock.flat > > smp = 2 > > extra_params = -cpu kvm64,hv_time > > + > > +[intel_iommu] > > +file = intel-iommu.flat > > +arch = x86_64 > > +timeout = 30 > > +smp = 4 > > +extra_params = -M pc-q35-2.7,kernel-irqchip=split -device intel-iommu,intremap=on -device edu > > -- > > 2.7.4 > > > > Hmm, this is the first we've worried about this in kvm-unit-tests (And > I'm not sure we should start). Usually we just want the tests to work > with latest KVM and latest QEMU, or to graceful fail with > report_xfail/skip/abort when it can determine that it's missing something > it needs. For this test, the latest command line should be: -M q35,kernel-irqchip=split -device intel-iommu,intremap=on -device edu However it will fail if kernel version <4.7 (without x2apic supported KVM). No chance for a report_skip(). I can use eim=off to avoid that check, however, if with "eim=off", we have: -M q35,kernel-irqchip=split -device intel-iommu,intremap=on,eim=off -device edu It requires QEMU to be latest (>2.8). Otherwise QEMU will report "eim property not found" and we lost chance to report as well. So, I just chose to use pc-q35-2.7 here. Not sure whether this is a good idea. -- peterx