From: Manali Shukla <manali.shukla@xxxxxxx> Remove the boiler plate code for #OF test and move #OF exception test in exception test framework. Signed-off-by: Manali Shukla <manali.shukla@xxxxxxx> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> --- x86/svm_tests.c | 50 +------------------------------------------------ 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/x86/svm_tests.c b/x86/svm_tests.c index 1285f98..0870cc5 100644 --- a/x86/svm_tests.c +++ b/x86/svm_tests.c @@ -2756,54 +2756,6 @@ static void pause_filter_test(void) } } - -static int of_test_counter; - -static void guest_test_of_handler(struct ex_regs *r) -{ - of_test_counter++; -} - -static void svm_of_test_guest(struct svm_test *test) -{ - struct far_pointer32 fp = { - .offset = (uintptr_t)&&into, - .selector = KERNEL_CS32, - }; - uintptr_t rsp; - - asm volatile ("mov %%rsp, %0" : "=r"(rsp)); - - if (fp.offset != (uintptr_t)&&into) { - printf("Codee address too high.\n"); - return; - } - - if ((u32)rsp != rsp) { - printf("Stack address too high.\n"); - } - - asm goto("lcall *%0" : : "m" (fp) : "rax" : into); - return; -into: - - asm volatile (".code32;" - "movl $0x7fffffff, %eax;" - "addl %eax, %eax;" - "into;" - "lret;" - ".code64"); - __builtin_unreachable(); -} - -static void svm_into_test(void) -{ - handle_exception(OF_VECTOR, guest_test_of_handler); - test_set_guest(svm_of_test_guest); - report(svm_vmrun() == SVM_EXIT_VMMCALL && of_test_counter == 1, - "#OF is generated in L2 exception handler"); -} - static int nm_test_counter; static void guest_test_nm_handler(struct ex_regs *r) @@ -3294,6 +3246,7 @@ struct svm_exception_test svm_exception_tests[] = { { DB_VECTOR, generate_single_step_db }, { BP_VECTOR, generate_bp }, { AC_VECTOR, svm_l2_ac_test }, + { OF_VECTOR, generate_of }, }; static u8 svm_exception_test_vector; @@ -3444,7 +3397,6 @@ struct svm_test svm_tests[] = { TEST(svm_vmload_vmsave), TEST(svm_test_singlestep), TEST(svm_nm_test), - TEST(svm_into_test), TEST(svm_exception_test), TEST(svm_lbrv_test0), TEST(svm_lbrv_test1), -- 2.38.0.rc1.362.ged0d419d3c-goog