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