powerpc/pseries: Fix to handle slb resize across migration
authorBrian King <brking@linux.vnet.ibm.com>
Fri, 28 Aug 2009 12:06:29 +0000 (12:06 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 24 Sep 2009 15:47:37 +0000 (08:47 -0700)
commit4b8111914e3a91b2022610b62178c9f69ac16cc8
treeacdcb42b8d0579b01cdac58106f8a240fc6db448
parent8dee92cc72924326b360e06f08b05d79e9833c3c
powerpc/pseries: Fix to handle slb resize across migration

commit 46db2f86a3b2a94e0b33e0b4548fb7b7b6bdff66 upstream.

The SLB can change sizes across a live migration, which was not
being handled, resulting in possible machine crashes during
migration if migrating to a machine which has a smaller max SLB
size than the source machine. Fix this by first reducing the
SLB size to the minimum possible value, which is 32, prior to
migration. Then during the device tree update which occurs after
migration, we make the call to ensure the SLB gets updated. Also
add the slb_size to the lparcfg output so that the migration
tools can check to make sure the kernel has this capability
before allowing migration in scenarios where the SLB size will change.

BenH: Fixed #include <asm/mmu-hash64.h> -> <asm/mmu.h> to avoid
      breaking ppc32 build

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/powerpc/include/asm/mmu-hash64.h
arch/powerpc/kernel/lparcfg.c
arch/powerpc/kernel/rtas.c
arch/powerpc/mm/slb.c
arch/powerpc/platforms/pseries/reconfig.c