Messages in this thread | | | Date | Sat, 11 Jun 2011 00:03:59 +0100 | From | Matthew Garrett <> | Subject | Re: 2.6.39.1 immediately reboots/resets on EFI system |
| |
On Fri, Jun 10, 2011 at 03:58:06PM -0700, Yinghai Lu wrote:
> the problem is : overlapping between kernel code with boot services code.
SHouldn't checking against the iomem resource map avoid that?
> now e820 table that is passed from bootloader do not include boot services code range. and also current boot/head_64.S will not > try to find usable range for decompressed kernel ( too early )... > > So solution will be: > 1. revert Matthew Garrett's patch, because it breaking unknown good platform.
That's acceptable if we can't find a better solution.
> 2. ask vendor of system that Matthew try to fix to go back fix their firmware. otherwise user have stay with CSM with it.
This isn't an option.
The medium-term fix is to ensure that the bootloaders don't put the kernel on top of boot services code. The long-term fix is to perform the SetVirtualAddressMap transition in either the bootloader or the kernel entry point. But the short-term fix here is to allocate all boot services regions that don't overlap with the kernel. That'll fix some number of machines and shouldn't break any existing ones.
-- Matthew Garrett | mjg59@srcf.ucam.org
| |