The following badram string was given to me using memtest86 v3.2 (carriage returns added for clarity):
badram=
0x0ad04638,0x0ad04638,
0x0c8501b4,0xfffffffc,
0x0d8a4a44,0xd8a4a44,
0x0a0801d4,0xfffffffc,
0x0e839e78,0xfffffffc,
0x0ee41e78,0xfffffffc,
0x0f941e78,0xfffffffc,
0x0c080260,0x0c080260,
0x0b998638,0x0b998638,
0x0ca11618,0x0ca11618
According to what I have read about the address/mask combinations it does not make sense why the mask would be equal to the address (as in lines 1,3,8,9,10). When I use the string in my kernel command line it hangs at the "Booting the kernel" message.
However, when I change the 'odd' masks to something normal like 0xfffffffc it takes the string and boots normally. So far the system seems more stable and says it has reserved 40k of bad ram. But I am unsure whether I have really gotten all of the failing memory addresses.
Does anyone understand why the memtest86 output is that way, or how it really should be? Thanks!