qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Self-modifying test case for mttcg


From: Alexander Spyridakis
Subject: [Qemu-devel] Self-modifying test case for mttcg
Date: Tue, 21 Jul 2015 12:58:56 +0200

Hello all,

You can find a new self-modifying test case in the following branch:
> git clone https://git.virtualopensystems.com/dev/tcg_baremetal_tests.git -b 
> smc_test

For each core, the test will run a small assembly snippet which
increments a variable. Immediately after, the snippet is modified in
memory to increment by 1 or 2 every other loop cycle, then passes
execution to the next core. At the end of the test we calculate the
expected result and compare it to the actual incremented variable. If
all code modifications happened correctly we pass the test.

The test case has been tested with upstream QEMU, MTTCG and KVM with
success. Next version of the test will include more corner cases, such
as changing TBs immediately after code modification, to make sure that
we cover every scenario.

To run it:
> make virt (or virt64/vexpress for other targets)
> ~/mttcg/arm-softmmu/qemu-system-arm -nographic -M virt -cpu cortex-a15 
> -kernel build-virt/image-virt.axf -smp 8

Also, by popular demand I started a port of the test for kvm-unit-tests:
> git clone https://git.virtualopensystems.com/dev/kvm-unit-tests.git

For the kvm-unit-tests version, I have some troubles with caches and
the MMU (which is disabled for this test). While TCG and MTTCG work,
KVM fails the test with strange results. I will keep looking to find
the exact problem.

Best regards.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]