diff options
author | Avi Kivity <avi@redhat.com> | 2009-09-16 12:25:48 +0300 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2009-09-16 16:00:45 -0300 |
commit | 7964148f257c17820e7ff9ba6919c4a69fc60226 (patch) | |
tree | 2ad1d72bafebb955b2fcbaa9d3bb826514abfc0c /kvm | |
parent | test: Add vmcall latency test (diff) | |
download | qemu-kvm-7964148f257c17820e7ff9ba6919c4a69fc60226.tar.gz qemu-kvm-7964148f257c17820e7ff9ba6919c4a69fc60226.tar.bz2 qemu-kvm-7964148f257c17820e7ff9ba6919c4a69fc60226.zip |
test: add cr8 latency tests
In light of the recent cr8/ept problem.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'kvm')
-rw-r--r-- | kvm/user/test/x86/vmexit.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kvm/user/test/x86/vmexit.c b/kvm/user/test/x86/vmexit.c index bd1895f60..cce26d92f 100644 --- a/kvm/user/test/x86/vmexit.c +++ b/kvm/user/test/x86/vmexit.c @@ -37,12 +37,28 @@ static void vmcall(void) asm volatile ("vmcall" : "+a"(a), "=b"(b), "=c"(c), "=d"(d)); } +static void mov_from_cr8(void) +{ + unsigned long cr8; + + asm volatile ("mov %%cr8, %0" : "=r"(cr8)); +} + +static void mov_to_cr8(void) +{ + unsigned long cr8 = 0; + + asm volatile ("mov %0, %%cr8" : : "r"(cr8)); +} + static struct test { void (*func)(void); const char *name; } tests[] = { { cpuid, "cpuid", }, { vmcall, "vmcall", }, + { mov_from_cr8, "mov_from_cr8" }, + { mov_to_cr8, "mov_to_cr8" }, }; static void do_test(struct test *test) |