1f08c3bdfSopenharmony_ciThese are some standalone test programs for various parts of the
2f08c3bdfSopenharmony_cimachine check code:
3f08c3bdfSopenharmony_ci
4f08c3bdfSopenharmony_ciThey can be all tested together by running "make test"
5f08c3bdfSopenharmony_ciThis requires root rights and a kernel with soft offlining and hard
6f08c3bdfSopenharmony_ciofflining support.
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ciTo use ttable and tcases you need to specify a linux source tree
9f08c3bdfSopenharmony_ciwith the mce improvements patchkit added with make LSRC=/path/to/linux
10f08c3bdfSopenharmony_cior symlink the linux tree to ../linux
11f08c3bdfSopenharmony_ci
12f08c3bdfSopenharmony_ciThe programs requiring kernel sources are not in the all make target.
13f08c3bdfSopenharmony_ciIf you want to build them use make requireskernel after you
14f08c3bdfSopenharmony_ciset up the kernel sources or specified LSRC.
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_citcases
17f08c3bdfSopenharmony_ci
18f08c3bdfSopenharmony_ciSimple tester of a few test cases by running the machine check grader code
19f08c3bdfSopenharmony_ciin user space. This is an alternative to the more complete coverage
20f08c3bdfSopenharmony_ciin the main mce-test test cases.
21f08c3bdfSopenharmony_ci
22f08c3bdfSopenharmony_ciDoesn't aim to be complete, but more a quick sanity check, that 
23f08c3bdfSopenharmony_cican be done without booting a kernel.
24f08c3bdfSopenharmony_ci
25f08c3bdfSopenharmony_cittable
26f08c3bdfSopenharmony_ci
27f08c3bdfSopenharmony_ciGenerate a table of the output of the machine check grader. This gives
28f08c3bdfSopenharmony_cian overview how all the status bits in the machine check architecture 
29f08c3bdfSopenharmony_ciare processed. Note that a few bits are tested outside the grader
30f08c3bdfSopenharmony_ciand this doesn't apply to corrected machine check interrupts.
31f08c3bdfSopenharmony_ci
32f08c3bdfSopenharmony_ciUse make see to render the output  using links -g (note this doesn't work
33f08c3bdfSopenharmony_ciwith elinks as it is used on many distributions, in this case specify
34f08c3bdfSopenharmony_cia different browser with make BROWSER=browserbinary see)
35f08c3bdfSopenharmony_ci
36f08c3bdfSopenharmony_citinjpage
37f08c3bdfSopenharmony_ci
38f08c3bdfSopenharmony_citinjpage is a coverage test for the hwpoison page recovery code
39f08c3bdfSopenharmony_ciin the kernel. It tests different cases by putting pages
40f08c3bdfSopenharmony_ciinto different stages, triggering poison injection on them 
41f08c3bdfSopenharmony_ciand verifies the results.
42f08c3bdfSopenharmony_ci
43f08c3bdfSopenharmony_citinjpage requires a kernel with MADV_POISON injection support and the
44f08c3bdfSopenharmony_cihwpoison testkit, but doesn't require a kernel tree and can be built directly with
45f08c3bdfSopenharmony_cimake tinjpage
46f08c3bdfSopenharmony_ci
47f08c3bdfSopenharmony_ciA few of the test cases are timing dependent and might require adjustment
48f08c3bdfSopenharmony_cito run successfully.
49f08c3bdfSopenharmony_ci
50f08c3bdfSopenharmony_citinjpage-working
51f08c3bdfSopenharmony_ci
52f08c3bdfSopenharmony_ciOld version of tinjpage that tests much less cases, but might be more reliable.
53f08c3bdfSopenharmony_ci
54f08c3bdfSopenharmony_citring
55f08c3bdfSopenharmony_ci
56f08c3bdfSopenharmony_ciOld unit test program for the ring buffer used in mca recovery.
57f08c3bdfSopenharmony_ciNot in default Makefile target.
58f08c3bdfSopenharmony_ci
59f08c3bdfSopenharmony_ci-Andi Kleen
60