![]() | |||||||||||||
Messages in this thread |
On Thu, 13 Jul 2006, Edgar Hucek wrote: > > 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. Ok, can you show what the converted and the original map looks like? > 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) It _sounds_ like you may not have converted all the EFI types (EFI_UNUSABLE_MEMORY?), but regardless, I think it would be fine to have perhaps a "PCI_FORCE_MMCONF" flag that avoided that sanity check, and then you could have some code (either the EFI code _or_ some DMI code) that sets it for the Intel Macs. Note that the check in pci_mmcfg_init() shouldn't be some EFI hack itself, it would be a real flag for the PCI subsystem, independently of EFI (I can see it being useful for a kernel command line option, even), and the only EFI connection would be that perhaps the EFI code ends up setting that flag (especially if there is some EFI command for doing this). Btw, if you do do this, I think we should make sure that the MMCONFIG base address is reserved in the PCI MMIO resource structures (which we don't do now, I think - part of the whole point of verifying that it's marked as E820_RESERVED is exactly the fact that otherwise we migth have problems with PCI MMIO resource allocations allocating a regular PCI resource over the MMCONFIG space..) Linus - 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/ | ||||||||||||
| Last update: 2006-07-14 00:19 [from the cache] ©2003-2008 | |||||||||||||