| Overall: (6 cases) |
| |
| - Test method |
| * Add cases/soft-inj/panic_ucr/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_ucr/cases.sh |
| |
| 1. s0_ar1 |
| |
| - Objective: |
| * Test MSR read logic of MCE handler |
| * Test synchronization between monarch and subject |
| - 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_ucr/data/s0_ar1 |
| - 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 "Illegal combination (UCNA with AR=1)" |
| |
| |
| 2. srar_over |
| |
| - Objective: |
| * Test logic of timeout during monarch/subject synchronization |
| - 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_ucr/data/srar_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 "Action required with lost events" |
| |
| |
| 3. srar_unknown |
| |
| - Objective: |
| * Test fatal MCE occur in IRQ context |
| - 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_ucr/data/srar_unknown |
| - 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 "Action required; unknown MCACOD" |
| |
| |
| 4. srar_no_en |
| |
| - Objective: |
| * Test fatal MCE occur |
| - 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("Machine check from unknown source",) |
| * mce_panic() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/panic_ucr/data/srar_no_en |
| * Reference MCE records: cases/soft-inj/panic_ucr/refer/srar_no_en |
| - 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 "Machine check from unknown source" |
| |
| 5.srao_ewb_noripv |
| - Objective: |
| * Test MCE handler logic for EIPV and RIPV MCE in kernel space |
| - Code path tested: |
| * do_machine_check() |
| * mce_start() |
| * mce_end() |
| * mce_severity() |
| * mce_regin() for_each_possible_loops loops(check mce-severity message) |
| * mce_panic() |
| * mce_log() |
| * print_mce() |
| - Reference: |
| * Inject data file: cases/soft-inj/recoverable_ucr/data/srao_ewb_noripv |
| - 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 "Neither restart nor error IP" |
| |
| 6.srao_mem_scrub_noripv |
| - Objective: |
| * Test MCE handler logic for EIPV and RIPV MCE in kernel space |
| - Code path tested: |
| * the same as srao_ewb_noripv |
| - Reference: |
| * Inject data file: |
| * cases/soft-inj/recoverable_ucr/data/srao_mem_scrub_noripv |
| - 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 "Neither restart nor error IP" |
| |