blob: 015f9e7fed55c921005ab879d2c29cc30386e674 [file] [log] [blame]
These are some standalone test programs for various parts of the
machine check code:
They can be all tested together by running "make test"
This requires root rights and a kernel with soft offlining and hard
offlining support.
To use ttable and tcases you need to specify a linux source tree
with the mce improvements patchkit added with make LSRC=/path/to/linux
or symlink the linux tree to ../linux
The programs requiring kernel sources are not in the all make target.
If you want to build them use make requireskernel after you
set up the kernel sources or specified LSRC.
tcases
Simple tester of a few test cases by running the machine check grader code
in user space. This is an alternative to the more complete coverage
in the main mce-test test cases.
Doesn't aim to be complete, but more a quick sanity check, that
can be done without booting a kernel.
ttable
Generate a table of the output of the machine check grader. This gives
an overview how all the status bits in the machine check architecture
are processed. Note that a few bits are tested outside the grader
and this doesn't apply to corrected machine check interrupts.
Use make see to render the output using links -g (note this doesn't work
with elinks as it is used on many distributions, in this case specify
a different browser with make BROWSER=browserbinary see)
tinjpage
tinjpage is a coverage test for the hwpoison page recovery code
in the kernel. It tests different cases by putting pages
into different stages, triggering poison injection on them
and verifies the results.
tinjpage requires a kernel with MADV_POISON injection support and the
hwpoison testkit, but doesn't require a kernel tree and can be built directly with
make tinjpage
A few of the test cases are timing dependent and might require adjustment
to run successfully.
tinjpage-working
Old version of tinjpage that tests much less cases, but might be more reliable.
tring
Old unit test program for the ring buffer used in mca recovery.
Not in default Makefile target.
-Andi Kleen