| Pavel Machek | 2884f00 | 2008-11-26 17:15:21 +0100 | [diff] [blame] | 1 | March 2008 | 
 | 2 | Jan-Simon Moeller, dl9pf@gmx.de | 
 | 3 |  | 
 | 4 |  | 
 | 5 | How to deal with bad memory e.g. reported by memtest86+ ? | 
 | 6 | ######################################################### | 
 | 7 |  | 
 | 8 | There are three possibilities I know of: | 
 | 9 |  | 
 | 10 | 1) Reinsert/swap the memory modules | 
 | 11 |  | 
 | 12 | 2) Buy new modules (best!) or try to exchange the memory | 
 | 13 |    if you have spare-parts | 
 | 14 |  | 
 | 15 | 3) Use BadRAM or memmap | 
 | 16 |  | 
 | 17 | This Howto is about number 3) . | 
 | 18 |  | 
 | 19 |  | 
 | 20 | BadRAM | 
 | 21 | ###### | 
 | 22 | BadRAM is the actively developed and available as kernel-patch | 
 | 23 | here:  http://rick.vanrein.org/linux/badram/ | 
 | 24 |  | 
 | 25 | For more details see the BadRAM documentation. | 
 | 26 |  | 
 | 27 | memmap | 
 | 28 | ###### | 
 | 29 |  | 
 | 30 | memmap is already in the kernel and usable as kernel-parameter at | 
 | 31 | boot-time.  Its syntax is slightly strange and you may need to | 
 | 32 | calculate the values by yourself! | 
 | 33 |  | 
 | 34 | Syntax to exclude a memory area (see kernel-parameters.txt for details): | 
 | 35 | memmap=<size>$<address> | 
 | 36 |  | 
 | 37 | Example: memtest86+ reported here errors at address 0x18691458, 0x18698424 and | 
 | 38 |          some others. All had 0x1869xxxx in common, so I chose a pattern of | 
 | 39 |          0x18690000,0xffff0000. | 
 | 40 |  | 
 | 41 | With the numbers of the example above: | 
 | 42 | memmap=64K$0x18690000 | 
 | 43 |  or | 
 | 44 | memmap=0x10000$0x18690000 | 
 | 45 |  |