[POWERPC] Support ibm,dynamic-reconfiguration-memory nodes
commit0204568a088fecd5478153504f9476ee2c46d5bf
authorPaul Mackerras <paulus@samba.org>
Wed, 29 Nov 2006 11:27:42 +0000 (29 22:27 +1100)
committerPaul Mackerras <paulus@samba.org>
Mon, 11 Dec 2006 02:49:49 +0000 (11 13:49 +1100)
tree6c22d9590bbedd3b4ba22e53737c37c6862f5e48
parenta223535425eb28082a0925b0ce2f02f962936cf4
[POWERPC] Support ibm,dynamic-reconfiguration-memory nodes

For PAPR partitions with large amounts of memory, the firmware has an
alternative, more compact representation for the information about the
memory in the partition and its NUMA associativity information.  This
adds the code to the kernel to parse this alternative representation.

The other part of this patch is telling the firmware that we can
handle the alternative representation.  There is however a subtlety
here, because the firmware will invoke a reboot if the memory
representation we request is different from the representation that
firmware is currently using.  This is because firmware can't change
the representation on the fly.  Further, some firmware versions used
on POWER5+ machines have a bug where this reboot leaves the machine
with an altered value of load-base, which will prevent any kernel
booting until it is reset to the normal value (0x4000).  Because of
this bug, we do NOT set fake_elf.rpanote.new_mem_def = 1, and thus we
do not request the new representation on POWER5+ and earlier machines.
We do request the new representation on POWER6, which uses the
ibm,client-architecture-support call.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/prom.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/mm/numa.c