|
@@ -9,6 +9,7 @@
|
|
|
#include <linux/memblock.h>
|
|
|
|
|
|
static u64 patterns[] __initdata = {
|
|
|
+ /* The first entry has to be 0 to leave memtest with zeroed memory */
|
|
|
0,
|
|
|
0xffffffffffffffffULL,
|
|
|
0x5555555555555555ULL,
|
|
@@ -110,15 +111,8 @@ void __init early_memtest(unsigned long start, unsigned long end)
|
|
|
return;
|
|
|
|
|
|
printk(KERN_INFO "early_memtest: # of tests: %d\n", memtest_pattern);
|
|
|
- for (i = 0; i < memtest_pattern; i++) {
|
|
|
+ for (i = memtest_pattern-1; i < UINT_MAX; --i) {
|
|
|
idx = i % ARRAY_SIZE(patterns);
|
|
|
do_one_pass(patterns[idx], start, end);
|
|
|
}
|
|
|
-
|
|
|
- if (idx > 0) {
|
|
|
- printk(KERN_INFO "early_memtest: wipe out "
|
|
|
- "test pattern from memory\n");
|
|
|
- /* additional test with pattern 0 will do this */
|
|
|
- do_one_pass(0, start, end);
|
|
|
- }
|
|
|
}
|