x86: memtest: reuse test patterns when memtest parameter exceeds number of available...
[safe/jmp/linux-2.6] / arch / x86 / mm / memtest.c
index 9cab18b..00b8bdc 100644 (file)
@@ -9,6 +9,8 @@
 
 #include <asm/e820.h>
 
+#define _MAX_MEM_PATTERNS 4
+
 static void __init memtest(unsigned long start_phys, unsigned long size,
                                 unsigned pattern)
 {
@@ -21,6 +23,8 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
        unsigned long count;
        unsigned long incr;
 
+       pattern = pattern % _MAX_MEM_PATTERNS;
+
        switch (pattern) {
        case 0:
                val = 0UL;
@@ -110,8 +114,9 @@ void __init early_memtest(unsigned long start, unsigned long end)
                                t_size = end - t_start;
 
                        printk(KERN_CONT "\n  %010llx - %010llx pattern %d",
-                               (unsigned long long)t_start,
-                               (unsigned long long)t_start + t_size, pattern);
+                              (unsigned long long)t_start,
+                              (unsigned long long)t_start + t_size,
+                              pattern % _MAX_MEM_PATTERNS);
 
                        memtest(t_start, t_size, pattern);