powerpc: Apply early paca fixups to boot_paca and the boot cpu's paca
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 12 Feb 2013 14:44:50 +0000 (14:44 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Mar 2013 18:26:36 +0000 (11:26 -0700)
commit849149f2dfcf52e682e3e04cf3fe80bb0ce0e61c
treecb5ab376156ceb9000c296dd06640f20874a14ec
parent9fae6bc0fb93a9bba7c8f668624473bcfc032f37
powerpc: Apply early paca fixups to boot_paca and the boot cpu's paca

commit 25e138149c19fa0680147b825be475f5fd57f155 upstream.

In commit 466921c we added a hack to set the paca data_offset to zero so
that per-cpu accesses would work on the boot cpu prior to per-cpu areas
being setup. This fixed a problem with lockdep touching per-cpu areas
very early in boot.

However if we combine CONFIG_LOCK_STAT=y with any of the PPC_EARLY_DEBUG
options, we can hit the same problem in udbg_early_init(). To avoid that
we need to set the data_offset of the boot_paca also. So factor out the
fixup logic and call it for both the boot_paca, and "the paca of the
boot cpu".

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Tested-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/setup_64.c