#!/bin/bash # # Software injection based test cases: test cases are triggered via # the mce-inject tool. # # Copyright (C) 2009, Intel Corp. # Author: Huang Ying # # This file is released under the GPLv2. # . $ROOT/lib/functions.sh . $ROOT/lib/dirs.sh . $ROOT/lib/mce.sh . $ROOT/lib/soft-inject.sh enumerate() { soft_inject_enumerate } trigger() { reset_severity_cov soft_inject_trigger } get_result() { soft_inject_get_klog get_gcov arch/x86/kernel/cpu/mcheck/mce.c soft_inject_get_mcelog get_severity_cov } verify() { local removes="TSC TIME PROCESSOR" local over_exp="Overflowed uncorrected" local fatal_panic=": Fatal Machine check" local curr_cpu_panic=": Fatal machine check on current CPU" case "$bcase" in uc_over|uc_over_corrected) soft_inject_verify_mcelog verify_klog $klog soft_inject_verify_panic "$fatal_panic" soft_inject_verify_exp "$over_exp" ;; uc_over_timeout) soft_inject_verify_mcelog verify_klog $klog soft_inject_verify_panic "$curr_cpu_panic" soft_inject_verify_exp "$over_exp" soft_inject_verify_timeout ;; *) echo "!!! Unknown case: $this_case !!!" esac } soft_inject_main "$@"