Messages in this thread | | | Date | Thu, 13 Jul 2006 23:46:23 +0200 | From | Edgar Hucek <> | Subject | Re: [PATCH 1/1] Fix boot on efi 32 bit Machines [try #4] |
| |
I converted the efi memory map to use the e820 table. While converting i discovered why the kernel would allways fail to boot through efi on Intel Macs without a proper fix.
From kernel 2.6.16 to kernel 2.6.17 a new check is made. File arch/i386/pci/mmconfig.c -> funktion pci_mmcfg_init -> check e820_all_mapped The courios thing is that this check will always fail on the Intel Macs booted through efi. Parsing of the ACPI_MCFG table returns e0000000 for the start. But this location is not in the memory map which the efi firmware have : BIOS-EFI: 00000000e00f8000 - 00000000e00f9000 (reserved) So the e820_all_mapped would allways fail. Anny suggestions how to fix this problem ? Maybe some kind of whitelisting, using dmi_check_system ?
cu
Edgar Hucek
Eric W. Biederman schrieb: > Edgar Hucek <hostmaster@ed-soft.at> writes: > >> I agre with you to make efi use the e820 map as a long term solution. >> But at the moment the efi part is completley broken without my patch. > > But your patch isn't a fix. It is a hack to make the system boot. > > A patch that performed the same check on the efi memory map, > or it converted the efi memory map to use an e820 map it would be a fix. > >> At least on Intel Macs. >> Without the patch also my Imacfb driver makes no sense, since it is >> for efi booted Intel Macs. > > My point is that the kernel efi support is broken. You have just found > the location where the bone is poking through the skin. > > I am tempted to write a patch to delete the x86 efi support at this > point. So that it is very clear that it needs to be completely redone. > > Eric >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |