Commit 24d96495 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Paul Mackerras

[POWERPC] Document when printk is useable

When debugging early boot problems, it's common to sprinkle printk's
all over the place.  However, on 64-bit powerpc, this can lead to
memory corruption if done too early due to the PACA pointer and
lockdep core not being initialized.

This adds some comments to early_setup() that document when it is
safe to do so in order to save time for whoever has to debug that
stuff next.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 1b70c5a6
...@@ -170,6 +170,8 @@ void __init setup_paca(int cpu) ...@@ -170,6 +170,8 @@ void __init setup_paca(int cpu)
void __init early_setup(unsigned long dt_ptr) void __init early_setup(unsigned long dt_ptr)
{ {
/* -------- printk is _NOT_ safe to use here ! ------- */
/* Fill in any unititialised pacas */ /* Fill in any unititialised pacas */
initialise_pacas(); initialise_pacas();
...@@ -185,6 +187,8 @@ void __init early_setup(unsigned long dt_ptr) ...@@ -185,6 +187,8 @@ void __init early_setup(unsigned long dt_ptr)
/* Initialize lockdep early or else spinlocks will blow */ /* Initialize lockdep early or else spinlocks will blow */
lockdep_init(); lockdep_init();
/* -------- printk is now safe to use ------- */
DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr); DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment