exception_t handleUserLevelFault(word_t w_a, word_t w_b) { current_fault = fault_user_exception_new(w_a, w_b); handleFault(ksCurThread); schedule(); activateThread(); return EXCEPTION_NONE; }
exception_t handleUserLevelFault(word_t w_a, word_t w_b) { #ifdef DEBUG ksKernelEntry.path = Debug_UserLevelFault; ksKernelEntry.number = w_a; ksKernelEntry.code = w_b; #endif /* DEBUG */ current_fault = fault_user_exception_new(w_a, w_b); handleFault(ksCurThread); schedule(); activateThread(); return EXCEPTION_NONE; }
exception_t handleUserLevelFault(word_t w_a, word_t w_b) { #if defined(DEBUG) || defined(CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES) ksKernelEntry.path = Entry_UserLevelFault; ksKernelEntry.word = w_a; #endif /* DEBUG */ #ifdef CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES benchmark_track_start(); #endif current_fault = fault_user_exception_new(w_a, w_b); handleFault(ksCurThread); schedule(); activateThread(); #ifdef CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES benchmark_track_exit(); #endif return EXCEPTION_NONE; }