Re: [PATCH v2 0/3] support for broken memory modules (BadRAM)

From: Matthew Garrett
Date: Thu Jun 23 2011 - 10:12:44 EST


On Thu, Jun 23, 2011 at 04:08:32PM +0200, Stefan Assmann wrote:
> On 23.06.2011 15:39, Matthew Garrett wrote:
> > Would it be more reasonable to do this in the bootloader? You'd ideally
> > want this to be done as early as possible in order to avoid awkward
> > situations like your ramdisk ending up in the bad RAM area.
>
> Not sure what exactly you are suggesting here. The kernel somehow needs
> to know what memory areas to avoid so we supply this information via
> kernel command line.
> What the bootloader could do is to allow the kernel/initrd to be loaded
> at an alternative address. That's briefly mentioned in the BadRAM
> Documentation as well. Is that what you mean or am I missing something?

For EFI booting we just hand an e820 map to the kernel. It ought to be
easy enough to add support for that to the 16-bit entry point as well.
Then the bootloader just needs to construct an e820 map of its own. I
think grub2 actually already has some support for this. The advantage of
this approach is that the knowledge of bad memory only has to exist in
one place (ie, the bootloader) - the kernel can remain blisfully
unaware.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/