• David S. Miller's avatar
    [SPARC64]: Fix 32-bit truncation which broke sparsemem. · 17b0e199
    David S. Miller authored
    The page->flags manipulations done by the D-cache dirty
    state tracking was broken because the constants were not
    marked with "UL" to make them 64-bit, which means we were
    clobbering the upper 32-bits of page->flags all the time.
    
    This doesn't jive well with sparsemem which stores the
    section and indexing information in the top 32-bits of
    page->flags.
    
    This is yet another sparc64 bug which has been with us
    forever.
    
    While we're here, tidy up some things in bootmem_init()
    and paginig_init():
    
    1) Pass min_low_pfn to init_bootmem_node(), it's identical
       to (phys_base >> PAGE_SHIFT) but we should use consistent
       with the variable names we print in CONFIG_BOOTMEM_DEBUG
    
    2) max_mapnr, although no longer used, was being set
       inaccurately, we shouldn't subtract pfn_base any more.
    
    3) All the games with phys_base in the zones_*[] arrays
       we pass to free_area_init_node() are no longer necessary.
    
    Thanks to Josh Grebe and Fabbione for the bug reports
    and testing.  Fix also verified locally on an SB2500
    which had a memory layout that triggered the same problem.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    17b0e199
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
usr Loading commit data...
.gitignore Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...