android_kernel_samsung_msm8976/arch/sparc64/mm
David S. Miller 17b0e199a1 [SPARC64]: Fix 32-bit truncation which broke sparsemem.
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: David S. Miller <davem@davemloft.net>
2006-03-20 01:14:23 -08:00
..
fault.c [SPARC64]: Log faulting vaddr when bogus kernel PC detected. 2006-03-20 01:12:38 -08:00
generic.c [SPARC64]: Deal with PTE layout differences in SUN4V. 2006-03-20 01:12:25 -08:00
hugetlbpage.c
init.c [SPARC64]: Fix 32-bit truncation which broke sparsemem. 2006-03-20 01:14:23 -08:00
Makefile [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
tlb.c [SPARC64]: Avoid dcache-dirty page state management on sun4v. 2006-03-20 01:14:06 -08:00
tsb.c [SPARC64]: Bulletproof MMU context locking. 2006-03-20 01:14:20 -08:00
ultra.S [SPARC64]: Fix new context version SMP handling. 2006-03-20 01:14:21 -08:00