--- memtest86-4.0a.orig/main.c 2011-08-17 16:48:01.000000000 +0300 +++ memtest86-4.0a/main.c 2011-11-13 23:27:11.691326000 +0200 @@ -218,6 +218,12 @@ void test_start(void) /* These steps are only done by the boot cpu */ if (my_cpu_num == 0) { + + /* Ensure that we always start at LOW_TEST_ADR */ + if ((ulong)&_start != LOW_TEST_ADR) { + restart_internal(0); + } + parse_command_line(); mem_size(); /* must be called before initialise_cpus(); */ initialise_cpus();