| 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 |  |