test fault-on-AP and affinity; report the faulting core
fault-ap-df pins a #DF to an AP (its own IST must catch it); affinity checks a pinned task never migrates. onException now names the core, so an AP fault is attributed and shown contained. Both teeth-checked.
This commit is contained in:
@@ -119,6 +119,11 @@ CASES = [
|
||||
"smp": 4,
|
||||
"expect": r"DANOS-TEST-RESULT: PASS",
|
||||
"fail": r"DANOS-TEST-RESULT: FAIL"},
|
||||
# Affinity: a pinned task must never migrate off its core.
|
||||
{"name": "affinity",
|
||||
"smp": 4,
|
||||
"expect": r"DANOS-TEST-RESULT: PASS",
|
||||
"fail": r"DANOS-TEST-RESULT: FAIL"},
|
||||
# Stress the big kernel lock across cores; heavier, so a longer timeout.
|
||||
{"name": "smp-stress",
|
||||
"smp": 4,
|
||||
@@ -133,6 +138,12 @@ CASES = [
|
||||
{"name": "fault-ud", "expect": r"invalid opcode \(vector 6\)"},
|
||||
{"name": "fault-pf", "expect": r"page fault \(vector 14\)"},
|
||||
{"name": "fault-df", "expect": r"double fault \(vector 8\)"},
|
||||
# Fault on an application processor: a #DF pinned to core 1 must be caught by that
|
||||
# core's own IST (N >= 1), proving per-core TSS works; a broken one triple-faults.
|
||||
{"name": "fault-ap-df",
|
||||
"smp": 4,
|
||||
"expect": r"core [1-9]\d*: double fault \(vector 8\)",
|
||||
"fail": r"could not pin"},
|
||||
{"name": "fault-nx",
|
||||
"expect": r"page fault \(vector 14\)",
|
||||
"fail": r"NX not enforced"},
|
||||
|
||||
Reference in New Issue
Block a user