| .. SPDX-License-Identifier: GPL-2.0+ |
| .. Copyright 2022, Heinrich Schuchardt <xypron.glpk@gmx.de> |
| |
| mtest command |
| ============= |
| |
| Synopsis |
| -------- |
| |
| :: |
| |
| mtest [start [end [pattern [iterations]]]] |
| |
| Description |
| ----------- |
| |
| The *mtest* command tests the random access memory. It writes long values, reads |
| them back and checks for differences. The test can be interrupted with CTRL+C. |
| |
| The default test uses *pattern* as first value to be written and varies it |
| between memory addresses. |
| |
| An alternative test can be selected with CONFIG_SYS_ALT_MEMTEST=y. It uses |
| multiple hard coded bit patterns. |
| |
| With CONFIGSYS_ALT_MEMTEST_BITFLIP=y a further test is executed. It writes long |
| values offset by half the size of long and checks if writing to the one address |
| causes bit flips at the other address. |
| |
| start |
| start address of the memory range tested, defaults to |
| CONFIG_SYS_MEMTEST_START |
| |
| end |
| end address of the memory range tested, defaults to |
| CONFIG_SYS_MEMTEST_END. If CONFIGSYS_ALT_MEMTEST_BITFLIP=y, a value will |
| be written to this address. Otherwise it is excluded from the range. |
| |
| pattern |
| pattern to be written to memory. This is a 64bit value on 64bit systems |
| and a 32bit value on 32bit systems. It defaults to 0. The value is |
| ignored if CONFIG_SYS_ALT_MEMTEST=y. |
| |
| iterations |
| number of test repetitions. If the value is not provided the test will |
| not terminate automatically. Enter CTRL+C instead. |
| |
| Examples |
| -------- |
| |
| :: |
| |
| => mtest 1000 2000 0x55aa55aa55aa55aa 10 |
| Testing 00001000 ... 00002000: |
| Pattern AA55AA55AA55AA55 Writing... Reading... |
| Tested 16 iteration(s) with 0 errors. |
| |
| Configuration |
| ------------- |
| |
| The mtest command is enabled by CONFIG_CMD_MEMTEST=y. |
| |
| Return value |
| ------------ |
| |
| The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise. |