• D
    x86/mm/init: Fix incorrect page size in init_memory_mapping() printks · f15e0518
    Dave Hansen 提交于
    With 32-bit non-PAE kernels, we have 2 page sizes available
    (at most): 4k and 4M.
    
    Enabling PAE replaces that 4M size with a 2M one (which 64-bit
    systems use too).
    
    But, when booting a 32-bit non-PAE kernel, in one of our
    early-boot printouts, we say:
    
      init_memory_mapping: [mem 0x00000000-0x000fffff]
       [mem 0x00000000-0x000fffff] page 4k
      init_memory_mapping: [mem 0x37000000-0x373fffff]
       [mem 0x37000000-0x373fffff] page 2M
      init_memory_mapping: [mem 0x00100000-0x36ffffff]
       [mem 0x00100000-0x003fffff] page 4k
       [mem 0x00400000-0x36ffffff] page 2M
      init_memory_mapping: [mem 0x37400000-0x377fdfff]
       [mem 0x37400000-0x377fdfff] page 4k
    
    Which is obviously wrong.  There is no 2M page available.  This
    is probably because of a badly-named variable: in the map_range
    code: PG_LEVEL_2M.
    
    Instead of renaming all the PG_LEVEL_2M's.  This patch just
    fixes the printout:
    
      init_memory_mapping: [mem 0x00000000-0x000fffff]
       [mem 0x00000000-0x000fffff] page 4k
      init_memory_mapping: [mem 0x37000000-0x373fffff]
       [mem 0x37000000-0x373fffff] page 4M
      init_memory_mapping: [mem 0x00100000-0x36ffffff]
       [mem 0x00100000-0x003fffff] page 4k
       [mem 0x00400000-0x36ffffff] page 4M
      init_memory_mapping: [mem 0x37400000-0x377fdfff]
       [mem 0x37400000-0x377fdfff] page 4k
      BRK [0x03206000, 0x03206fff] PGTABLE
    Signed-off-by: NDave Hansen <dave.hansen@linux.intel.com>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Link: http://lkml.kernel.org/r/20150210212030.665EC267@viggo.jf.intel.comSigned-off-by: NBorislav Petkov <bp@suse.de>
    f15e0518
init.c 20.7 KB