| Overall: (3 cases) |
| |
| - Test method |
| * Add cases/soft-inj/panic_noser/cases.sh into configuration file, and invoke |
| a test driver on it. |
| - Common |
| * Test script of test cases in this file can be found in |
| cases/soft-inj/panic_noser/cases.sh |
| |
| 1. uc_over |
| |
| - Objective: |
| * Test MSR read logic of MCE handler |
| * Test synchronization between monarch and subject |
| * Test logic of uncorrected with UC and OVER |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() |
| * mce_timeout() except if (*t <= 0) branch |
| * mce_log() |
| * mce_end() |
| * mce_severity() |
| * mce_reign() until mce_panic("Fatal Machine check",) |
| * mce_panic() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_noser/data/uc_over |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "Overflowed uncorrected" |
| |
| |
| 2. uc_over_corrected |
| |
| - Objective: |
| * Test synchronization between monarch and subject |
| * Test logic of uncorrected and corrected |
| * Test logic of uncorrected with UC and OVER |
| * Test logic of corrected with EXCP |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() |
| * mce_timeout() except if (*t <= 0) branch |
| * mce_log() |
| * mce_end() |
| * mce_severity() |
| * mce_reign() until mce_panic("Fatal Machine check",) |
| * mce_panic() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_noser/data/uc_over_corrected |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal Machine check" |
| * Exception message is "Overflowed uncorrected" |
| |
| |
| 3. uc_over_timeout |
| |
| - Objective: |
| * Test logic of timeout during monarch/subject synchronization |
| * Test logic of uncorrected with UC and OVER |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() |
| * mce_timeout() if (*t <= 0) branch |
| * mce_log() |
| * mce_severity() |
| * mce_panic("Fatal machine check on current CPU",) |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_noser/data/uc_over_timeout |
| - Expected result: |
| * No warning or bug during kernel processing. |
| * MCE records collected via kernel panic log is same as reference ones. |
| * Kernel panic message is "Fatal machine check on current CPU" |
| * Exception message is "Overflowed uncorrected" |
| * Timeout message is "Some CPUs didn't answer in synchronization" |
| |
| |