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