diff options
author | Laurentiu TUDOR <Laurentiu.Tudor@freescale.com> | 2013-07-03 10:13:15 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2013-08-07 19:38:06 -0400 |
commit | 4e21b94c9c644c43223878f4c848e852743e789c (patch) | |
tree | 70671b6571cb5c92752264d26a174cbc0d9034b8 /arch/powerpc/kernel/setup_64.c | |
parent | f31dd9443afd35696a833c2a32d584a9257abd40 (diff) |
powerpc/85xx: Move ePAPR paravirt initialization earlier
At console init, when the kernel tries to flush the log buffer
the ePAPR byte-channel based console write fails silently,
losing the buffered messages.
This happens because The ePAPR para-virtualization init isn't
done early enough so that the hcall instruction to be set,
causing the byte-channel write hcall to be a nop.
To fix, change the ePAPR para-virt init to use early device
tree functions and move it in early init.
Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/kernel/setup_64.c')
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 389fb8077cc9..f03770e0fc8d 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -66,6 +66,7 @@ | |||
66 | #include <asm/code-patching.h> | 66 | #include <asm/code-patching.h> |
67 | #include <asm/kvm_ppc.h> | 67 | #include <asm/kvm_ppc.h> |
68 | #include <asm/hugetlb.h> | 68 | #include <asm/hugetlb.h> |
69 | #include <asm/epapr_hcalls.h> | ||
69 | 70 | ||
70 | #include "setup.h" | 71 | #include "setup.h" |
71 | 72 | ||
@@ -215,6 +216,8 @@ void __init early_setup(unsigned long dt_ptr) | |||
215 | */ | 216 | */ |
216 | early_init_devtree(__va(dt_ptr)); | 217 | early_init_devtree(__va(dt_ptr)); |
217 | 218 | ||
219 | epapr_paravirt_early_init(); | ||
220 | |||
218 | /* Now we know the logical id of our boot cpu, setup the paca. */ | 221 | /* Now we know the logical id of our boot cpu, setup the paca. */ |
219 | setup_paca(&paca[boot_cpuid]); | 222 | setup_paca(&paca[boot_cpuid]); |
220 | fixup_boot_paca(); | 223 | fixup_boot_paca(); |