Pull mem-attribute into release branch
[powerpc.git] / arch / powerpc / platforms / iseries / setup.c
index 0f39bdb..7f5dcee 100644 (file)
@@ -527,7 +527,8 @@ static void __init iSeries_fixup_klimit(void)
 static int __init iSeries_src_init(void)
 {
         /* clear the progress line */
-        ppc_md.progress(" ", 0xffff);
+       if (firmware_has_feature(FW_FEATURE_ISERIES))
+               ppc_md.progress(" ", 0xffff);
         return 0;
 }
 
@@ -627,15 +628,6 @@ static void iseries_iounmap(volatile void __iomem *token)
 {
 }
 
-/*
- * iSeries has no legacy IO, anything calling this function has to
- * fail or bad things will happen
- */
-static int iseries_check_legacy_ioport(unsigned int baseport)
-{
-       return -ENODEV;
-}
-
 static int __init iseries_probe(void)
 {
        unsigned long root = of_get_flat_dt_root();
@@ -643,6 +635,8 @@ static int __init iseries_probe(void)
                return 0;
 
        hpte_init_iSeries();
+       /* iSeries does not support 16M pages */
+       cur_cpu_spec->cpu_features &= ~CPU_FTR_16M_PAGE;
 
        return 1;
 }
@@ -664,7 +658,6 @@ define_machine(iseries) {
        .calibrate_decr = generic_calibrate_decr,
        .progress       = iSeries_progress,
        .probe          = iseries_probe,
-       .check_legacy_ioport    = iseries_check_legacy_ioport,
        .ioremap        = iseries_ioremap,
        .iounmap        = iseries_iounmap,
        /* XXX Implement enable_pmcs for iSeries */
@@ -677,7 +670,7 @@ void * __init iSeries_early_setup(void)
        /* Identify CPU type. This is done again by the common code later
         * on but calling this function multiple times is fine.
         */
-       identify_cpu(0);
+       identify_cpu(0, mfspr(SPRN_PVR));
 
        powerpc_firmware_features |= FW_FEATURE_ISERIES;
        powerpc_firmware_features |= FW_FEATURE_LPAR;