projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: memtest: reuse test patterns when memtest parameter exceeds number of available...
[firefly-linux-kernel-4.4.55.git]
/
arch
/
x86
/
mm
/
memtest.c
diff --git
a/arch/x86/mm/memtest.c
b/arch/x86/mm/memtest.c
index 9cab18b0b857e2d199d54d402c4a9dd110a58d5c..00b8bdc64c3e5a37ca05e94fe803b12dbf9eeb85 100644
(file)
--- a/
arch/x86/mm/memtest.c
+++ b/
arch/x86/mm/memtest.c
@@
-9,6
+9,8
@@
#include <asm/e820.h>
#include <asm/e820.h>
+#define _MAX_MEM_PATTERNS 4
+
static void __init memtest(unsigned long start_phys, unsigned long size,
unsigned pattern)
{
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;
unsigned long count;
unsigned long incr;
+ pattern = pattern % _MAX_MEM_PATTERNS;
+
switch (pattern) {
case 0:
val = 0UL;
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",
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);
memtest(t_start, t_size, pattern);