Messages in this thread | | | Date | Mon, 13 Jun 2011 20:14:10 +0200 | From | Maarten Lankhorst <> | Subject | Re: 2.6.39.1 immediately reboots/resets on EFI system |
| |
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 >>> 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. :-/
My kernel never needed the boot code hack btw, so I'm probably a terrible test subject for it.
~Maarten
| |