]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/mm/hash_utils_64.c
powerpc: Remove FW_FEATURE ISERIES from arch code
[karo-tx-linux.git] / arch / powerpc / mm / hash_utils_64.c
index 2d282186cb45b43f55044819bba1b4a5279844b6..3e8c37a4e395cc730418eafc12bdd81cb5f0caad 100644 (file)
@@ -55,6 +55,8 @@
 #include <asm/spu.h>
 #include <asm/udbg.h>
 #include <asm/code-patching.h>
+#include <asm/fadump.h>
+#include <asm/firmware.h>
 
 #ifdef DEBUG
 #define DBG(fmt...) udbg_printf(fmt)
@@ -625,6 +627,16 @@ static void __init htab_initialize(void)
                /* Using a hypervisor which owns the htab */
                htab_address = NULL;
                _SDR1 = 0; 
+#ifdef CONFIG_FA_DUMP
+               /*
+                * If firmware assisted dump is active firmware preserves
+                * the contents of htab along with entire partition memory.
+                * Clear the htab if firmware assisted dump is active so
+                * that we dont end up using old mappings.
+                */
+               if (is_fadump_active() && ppc_md.hpte_clear_all)
+                       ppc_md.hpte_clear_all();
+#endif
        } else {
                /* Find storage for the HPT.  Must be contiguous in
                 * the absolute address space. On cell we want it to be
@@ -745,12 +757,9 @@ void __init early_init_mmu(void)
         */
        htab_initialize();
 
-       /* Initialize stab / SLB management except on iSeries
-        */
+       /* Initialize stab / SLB management */
        if (mmu_has_feature(MMU_FTR_SLB))
                slb_initialize();
-       else if (!firmware_has_feature(FW_FEATURE_ISERIES))
-               stab_initialize(get_paca()->stab_real);
 }
 
 #ifdef CONFIG_SMP
@@ -761,8 +770,7 @@ void __cpuinit early_init_mmu_secondary(void)
                mtspr(SPRN_SDR1, _SDR1);
 
        /* Initialize STAB/SLB. We use a virtual address as it works
-        * in real mode on pSeries and we want a virtual address on
-        * iSeries anyway
+        * in real mode on pSeries.
         */
        if (mmu_has_feature(MMU_FTR_SLB))
                slb_initialize();