[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Question about qtest and IOMMU
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] Question about qtest and IOMMU |
Date: |
Wed, 29 Jun 2016 09:08:29 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 29/06/2016 08:36, Jan Kiszka wrote:
> On 2016-06-29 08:32, Peter Xu wrote:
>> Hi, all,
>>
>> I am thinking about whether it's possible to write up a unit test
>> program for emulated IOMMUs (of course, Intel IOMMU would be the first
>> one). This can provide us the chance to do quick functional regression
>> tests for IOMMU just like other devices, as well as customized test
>> sequences which is hard to do in real guests (e.g., specific cache
>> invalidations, error injections), etc..
>>
>> I see that current qtest framework cannot support well on testing
>> IOMMUs. For DMA remapping, things would be quite smooth. The problem
>> is that, we still do not have a complete test framework on the
>> interrupts. E.g., currently qtest is still an acceleration type, in
>> which we have no vCPUs, as well as interrupt chips like APICs (please
>> correct me if I am wrong).
qtest does have VCPUs, they just run a dummy loop. You do have an APIC
too, but reading it doesn't work because cpu_get_current_apic() returns
NULL.
You can use kvm-unit-tests if qtest is not flexible enough. It's
probably the simplest thing to do if you also want to test kernel LAPIC
and split irqchip operation.
Paolo
>> It's even further if we want to test
>> something like kernel irqchips with QEMU. Not sure whether it's
>> possible to do test based on a much realistic VM (e.g., with KVM
>> enabled, but just keep the CPUs stall?).
>
> Adding David and Valentine as we were discussing this need in the
> context of the AMD IOMMU as well: You cannot test errors with workload
> (like Linux) that do not trigger them in normal conditions.
Paolo