Re: 2.6.39.1 immediately reboots/resets on EFI system

From: Matthew Garrett
Date: Mon Jun 13 2011 - 14:18:17 EST


On Mon, Jun 13, 2011 at 08:14:10PM +0200, Maarten Lankhorst wrote:
> Op 13-06-11 20:00, Matthew Garrett schreef:
> > On Mon, Jun 13, 2011 at 07:52:42PM +0200, Maarten Lankhorst wrote:
> >>> + */
> >>> +
> >>> + if ((start <= virt_to_phys(_etext)-1 && end >= virt_to_phys(_text)) ||
> >>> + (start <= virt_to_phys(_edata)-1 && end >= virt_to_phys(_etext)) ||
> >> _etext -> _sdata perhaps?
> > _etext is used for the resource allocation earlier, which seems like
> > it's probably the relevant thing to be copying.
> I meant the second comparison, start <= edata && end >= _etext

I know:

data_resource.start = virt_to_phys(_etext);
data_resource.end = virt_to_phys(_edata)-1;

(from kernel/setup.c)

> >>> memblock_x86_reserve_range(start, start + size, "EFI Boot");
> >>> }
> >>> }
> >> Will test though. It might also be appropriate to put a WARN when that condition happens.
> > That'd end up triggering even in cases that are absolutely safe (ie, the
> > firmware doesn't have this bug). The amount of suck here is incredible.
> Still a crapload of swapper BUGs in free_init_pages, maybe you should just give up on this approach,
> and call SetVirtualAddressMap before anything of importance runs. :-/

Not straightforward, sadly. Can I have the dmesg and iomem?

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