@@ -27,7 +27,7 @@ static void tsc_deadline_timer_isr(isr_regs_t *regs)
++tdt_count;
}
-static void start_tsc_deadline_timer(void)
+static void __test_tsc_deadline_timer(void)
{
handle_irq(TSC_DEADLINE_TIMER_VECTOR, tsc_deadline_timer_isr);
irq_enable();
@@ -45,7 +45,6 @@ static int enable_tsc_deadline_timer(void)
if (cpuid(1).c & (1 << 24)) {
lvtt = TSC_DEADLINE_TIMER_MODE | TSC_DEADLINE_TIMER_VECTOR;
apic_write(APIC_LVTT, lvtt);
- start_tsc_deadline_timer();
return 1;
} else {
return 0;
@@ -55,9 +54,9 @@ static int enable_tsc_deadline_timer(void)
static void test_tsc_deadline_timer(void)
{
if(enable_tsc_deadline_timer()) {
- printf("tsc deadline timer enabled\n");
+ __test_tsc_deadline_timer();
} else {
- printf("tsc deadline timer not detected\n");
+ report_skip("tsc deadline timer not detected");
}
}
@@ -1062,7 +1062,7 @@ static void illegal_movbe_handler(struct ex_regs *regs)
static void test_illegal_movbe(void)
{
if (!(cpuid(1).c & (1 << 22))) {
- printf("SKIP: illegal movbe\n");
+ report_skip("illegal movbe");
return;
}
@@ -228,7 +228,7 @@ int main(int ac, char **av)
report("Hyper-V SynIC test", ok);
} else {
- report("Hyper-V SynIC is not supported", true);
+ report_skip("Hyper-V SynIC is not supported");
}
return report_summary();
@@ -91,7 +91,7 @@ int main(int ac, char **av)
if (!(cpuid_indexed(7, 0).c & (1 << X86_FEATURE_PKU))) {
printf("PKU not enabled, exiting\n");
- exit(1);
+ return report_summary();
}
setup_vm();
@@ -387,7 +387,7 @@ int main(int ac, char **av)
if (!eax.split.version_id) {
printf("No pmu is detected!\n");
- return 1;
+ return report_summary();
}
printf("PMU version: %d\n", eax.split.version_id);
printf("GP counters: %d\n", eax.split.num_counters);
@@ -93,7 +93,7 @@ int main(int ac, char **av)
if (!(cpuid_indexed(7, 0).b & (1 << X86_FEATURE_SMAP))) {
printf("SMAP not enabled, exiting\n");
- exit(1);
+ return report_summary();
}
setup_vm();
@@ -1064,7 +1064,7 @@ int main(int ac, char **av)
if (!(cpuid(0x80000001).c & 4)) {
printf("SVM not availble\n");
- return 0;
+ return report_summary();
}
setup_svm();
@@ -43,5 +43,5 @@ int main()
test_rdtscp(0x100);
} else
printf("rdtscp not supported\n");
- return 0;
+ return report_summary();
}
No care to consistency or exhaustivity was given. (svm-disabled test should be redone and it's weird that x86/hyperv_synic is about the only one that does report_skip when unsupported.) Signed-off-by: Radim Kr?má? <rkrcmar@redhat.com> --- v2: remove double newline in enable_tsc_deadline_timer [Drew] x86/apic.c | 7 +++---- x86/emulator.c | 2 +- x86/hyperv_synic.c | 2 +- x86/pku.c | 2 +- x86/pmu.c | 2 +- x86/smap.c | 2 +- x86/svm.c | 2 +- x86/tsc.c | 2 +- 8 files changed, 10 insertions(+), 11 deletions(-)