On 02/22/2012 06:20 PM, Yinghai Lu wrote: > > Why is MAXMEM used here? > > EFI reserved area could be above 4G? > > if that is the case, you will map all mmio hole below 4g. > OK, dropping this patch for now, at least from -urgent. We really need to restrict the memory types we map, at least without ioremap() called on them. In theory, on x86-64, we could have a dedicated "1:1" address for each physical address, but there is no good reason we should ever map memory types other than RAM, ACPI and EFI by default -- with the possible exception of the low 1 MiB legacy area. Therefore, I don't see why on Earth we have kernel_physical_mapping_init() create mappings for areas which are not RAM. It has access to the memory map at this point, so there is no reason for it. Unfortunately I think we still have a bunch of code which implicitly assumes the old "PC" model with separate contiguous memory ranges starting at 0, 1 MiB, and 4 GiB, however, there are more and more systems where that just doesn't match reality. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html