Merge tag 'mfd-next-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[sfrench/cifs-2.6.git] / arch / powerpc / kernel / paca.c
index 8d63627e067f7a43ce7168b53db515432554d63c..70f073d6c3b27c5cac8f8c8492da879f51f80622 100644 (file)
@@ -99,18 +99,27 @@ static inline void free_lppacas(void) { }
  * If you make the number of persistent SLB entries dynamic, please also
  * update PR KVM to flush and restore them accordingly.
  */
-static struct slb_shadow *slb_shadow;
+static struct slb_shadow * __initdata slb_shadow;
 
 static void __init allocate_slb_shadows(int nr_cpus, int limit)
 {
        int size = PAGE_ALIGN(sizeof(struct slb_shadow) * nr_cpus);
+
+       if (early_radix_enabled())
+               return;
+
        slb_shadow = __va(memblock_alloc_base(size, PAGE_SIZE, limit));
        memset(slb_shadow, 0, size);
 }
 
 static struct slb_shadow * __init init_slb_shadow(int cpu)
 {
-       struct slb_shadow *s = &slb_shadow[cpu];
+       struct slb_shadow *s;
+
+       if (early_radix_enabled())
+               return NULL;
+
+       s = &slb_shadow[cpu];
 
        /*
         * When we come through here to initialise boot_paca, the slb_shadow