summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kvm/user/test/x86/vmexit.c')
-rw-r--r--kvm/user/test/x86/vmexit.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kvm/user/test/x86/vmexit.c b/kvm/user/test/x86/vmexit.c
index 29bb32a11..5088dc92d 100644
--- a/kvm/user/test/x86/vmexit.c
+++ b/kvm/user/test/x86/vmexit.c
@@ -66,6 +66,16 @@ static void ipi(void)
on_cpu(1, nop, 0);
}
+static void ipi_halt(void)
+{
+ unsigned long long t;
+
+ on_cpu(1, nop, 0);
+ t = rdtsc() + 2000;
+ while (rdtsc() < t)
+ ;
+}
+
static struct test {
void (*func)(void);
const char *name;
@@ -76,6 +86,7 @@ static struct test {
{ mov_from_cr8, "mov_from_cr8" },
{ mov_to_cr8, "mov_to_cr8" },
{ ipi, "ipi", is_smp },
+ { ipi_halt, "ipi+halt", is_smp },
};
static void do_test(struct test *test)