linux/arch/sparc64
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
..
boot [SPARC64]: Add .gitignore file for sparc64 boot images. 2006-02-05 00:15:11 -08:00
kernel [SPARC64]: Move over to sparsemem. 2006-03-20 01:14:22 -08:00
lib [SPARC64]: Niagara optimized XOR functions for RAID. 2006-03-20 01:14:03 -08:00
math-emu [SPARC64] math-emu: Delete debugging printk left by previous commit. 2006-03-20 01:13:53 -08:00
mm [SPARC64]: Fix 32-bit truncation which broke sparsemem. 2006-03-20 01:14:23 -08:00
oprofile
prom [SPARC64]: Args to SUNW,set-trap-table are 64-bit. 2006-03-20 01:13:48 -08:00
solaris [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
defconfig [SPARC64]: Update defconfig. 2006-02-07 18:12:34 -08:00
Kconfig [SPARC64]: Move over to sparsemem. 2006-03-20 01:14:22 -08:00
Kconfig.debug
Makefile