On return from rtas we access the paca variables and we have 64 bit
disabled. This requires us to limit paca in 32 bit range.

Note: we don't set ppc64_rma_size for radix and because of that we endup
with a limit value of 0.

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com>
---
 arch/powerpc/kernel/paca.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 01ea0edf0579..9c6e0d1eb61b 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -216,6 +216,11 @@ void __init allocate_pacas(void)
         * the first segment.
         */
        limit = min(0x10000000ULL, limit);
+       /*
+        * Fix it properly. Radix hack
+        */
+       if (limit == 0)
+               limit = 0x10000000ULL;
 #endif
 
        paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpu_ids);
-- 
2.5.0

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to