sparc64: Fix definition of VMEMMAP_SIZE.
authorDavid S. Miller <davem@davemloft.net>
Tue, 24 Nov 2009 00:38:56 +0000 (16:38 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Nov 2009 00:38:56 +0000 (16:38 -0800)
commitbffbc94a4d2c1769c3826fceddd2dbb75e72c80b
tree3e4cce10f16f57b038ae5fa590c9ac4337385f1e
parent1c9d80ddc60f8ac26344ec3db9830e5f8016c16d
sparc64: Fix definition of VMEMMAP_SIZE.

This was the cause of various boot failures on V480, V880, etc.
systems.

Kernel image memory was being overwritten because the vmemmap[]
array was being sized to small.  So if you had physical memory
addresses past a certain point, the early bootup would spam
all over variables in the kernel data section.

The vmemmap mappings map page structs, not page struct pointers.
And that was the key thinko in the macro definition.

This was fixable thanks to the help, reports, and tireless patience
of Hermann Lauer.

Reported-by: Hermann Lauer <Hermann.Lauer@iwr.uni-heidelberg.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/mm/init_64.h