于 2013年05月10日 17:27, Yinghai Lu 写道: > On Fri, May 10, 2013 at 2:01 AM, Zhang Yanfei > <zhangyan...@cn.fujitsu.com> wrote: >> init_memory_mapping will set max_pfn_mapped: >> int_memory_mapping >> --> add_pfn_range_mapped >> --> max_pfn_mapped = max(max_pfn_mapped, end_pfn) >> >> In init_mem_mapping, before we set max_pfn_mapped to 0, we >> have already called init_memory_mapping to setup pagetable >> for [0, ISA_END_ADDRESS], and that sets max_pfn_mapped. So >> the assignment to 0 is not necessary, remove it. > > NAK. > > for 32bit or Xen, max_pfn_mapped is set way before in head_32.S and > xen-enlighen.
Hi Yinghai I might be wrong, but just from the code in init_mem_mapping only: 410 /* the ISA range is always mapped regardless of memory holes */ 411 init_memory_mapping(0, ISA_END_ADDRESS); 412 413 /* xen has big range in reserved near end of ram, skip it at first.*/ 414 addr = memblock_find_in_range(ISA_END_ADDRESS, end, PMD_SIZE, PMD_SIZE); 415 real_end = addr + PMD_SIZE; 416 417 /* step_size need to be small so pgt_buf from BRK could cover it */ 418 step_size = PMD_SIZE; 419 max_pfn_mapped = 0; /* will get exact value next */ Line 411 set max_pfn_mapped, and then line 419 set it to zero again, so why keep the later assignment? Thanks Zhang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/