On Mon, Oct 14, 2013 at 06:23:26PM +0200, Andrew Jones wrote:

Hi Drew,

> This series introduces arm to kvm-unit-tests. First, it does some
> tidying up of the repo. Then, it adds support for virtio-testdev,
> which was just posted to qemu-devel[1]. Next, it adds the basic
> infrastructure for booting a test case (guest). Finally, it adds
> support for vectors. This is just an initial drop, I'm starting
> work on smp support now, and then will bring in support for
> arm64. At that point we should be able to start actually adding
> tests. To use this you need an arm platform or simulator capable
> of running kvmarm and a qemu with the mach-virt patches[2], as
> well as the previously mentioned virtio-testdev.
> 
> [1] http://lists.nongnu.org/archive/html/qemu-devel/2013-10/msg01815.html
> [2] http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg02142.html
> 
> This patches are also available from a git repo here
> https://github.com/rhdrjones/kvm-unit-tests/tree/arm-branch/master
> 

I'm playing around with this, thanks again for working on it.  It's long
overdue that we're getting something real done in this area.

I have run into some problems trying to run this thing on real hardware.
The biggest problem is the known cache coherency issue where we need to
flush the data cache to make things coherent when the guest runs with
the MMU disabled.  It shows up quite frequently if you just try to run
the small flat binaries with KVM, and I suspec the only reason we are
not seeing this with real kernels is that they are large enough that we
end up writing the necessary data all the way to main memory.

I'm working on a vmexit test to measure stuff, and I noticed that we:
 - really need to find a way to let a guest read the cycle counter
 - need a way to let a call a dummy HVC to KVM to measure round-trip
   times
 - ...

This is probably something we should try to discuss on one of the next
kvm/arm sync-up calls.  I remember something about you not being able to
make those, but we can arrange a different time for one of them some
time.

For now, I can work around the cache issue by enabling the DC bits and
by adding a terrible hack for the cycle counter and dummy HVC.  You can
follow my hackings here:

Kernel:
https://git.linaro.org/people/christoffer.dall/linux-kvm-arm.git/shortlog/refs/heads/kvm-arm-next-measure

unit-tests:
https://github.com/columbia/kvm-unit-tests/tree/arm-support

-Christoffer
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to