summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kvm/user/test/x86/vmexit.c16
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)