]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/head_64.S
Merge branch 'master' of git://git.infradead.org/~dedekind/ubi-2.6
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / head_64.S
index 33c4e8cab0ba935b9fcdb2acdd42c1fd2f0d55b5..97c5857faf00d830d3022fdc4bd99caeefaed974 100644 (file)
@@ -341,6 +341,7 @@ slb_miss_user_pseries:
        b       .                               /* prevent spec. execution */
 #endif /* __DISABLED__ */
 
+#ifdef CONFIG_PPC_PSERIES
 /*
  * Vectors for the FWNMI option.  Share common code.
  */
@@ -358,6 +359,8 @@ machine_check_fwnmi:
        mtspr   SPRN_SPRG1,r13          /* save r13 */
        EXCEPTION_PROLOG_PSERIES_FORCE_64BIT(PACA_EXMC, machine_check_common)
 
+#endif /* CONFIG_PPC_PSERIES */
+
 /*** Common interrupt handlers ***/
 
        STD_EXCEPTION_COMMON(0x100, system_reset, .system_reset_exception)
@@ -656,7 +659,9 @@ hardware_interrupt_common:
        FINISH_NAP
 hardware_interrupt_entry:
        DISABLE_INTS
+BEGIN_FTR_SECTION
        bl      .ppc64_runlatch_on
+END_FTR_SECTION_IFSET(CPU_FTR_CTRL)
        addi    r3,r1,STACK_FRAME_OVERHEAD
        bl      .do_IRQ
        b       .ret_from_except_lite
@@ -930,7 +935,7 @@ _GLOBAL(do_stab_bolted)
 
        /* Calculate VSID */
        /* This is a kernel address, so protovsid = ESID */
-       ASM_VSID_SCRAMBLE(r11, r9)
+       ASM_VSID_SCRAMBLE(r11, r9, 256M)
        rldic   r9,r11,12,16    /* r9 = vsid << 12 */
 
        /* Search the primary group for a free entry */
@@ -1010,6 +1015,7 @@ _GLOBAL(do_stab_bolted)
 initial_stab:
        .space  4096
 
+#ifdef CONFIG_PPC_PSERIES
 /*
  * Data area reserved for FWNMI option.
  * This address (0x7000) is fixed by the RPA.
@@ -1017,6 +1023,7 @@ initial_stab:
        .= 0x7000
        .globl fwnmi_data_area
 fwnmi_data_area:
+#endif /* CONFIG_PPC_PSERIES */
 
        /* iSeries does not use the FWNMI stuff, so it is safe to put
         * this here, even if we later allow kernels that will boot on
@@ -1041,7 +1048,9 @@ xLparMap:
 
 #endif /* CONFIG_PPC_ISERIES */
 
+#ifdef CONFIG_PPC_PSERIES
         . = 0x8000
+#endif /* CONFIG_PPC_PSERIES */
 
 /*
  * On pSeries and most other platforms, secondary processors spin
@@ -1537,12 +1546,4 @@ empty_zero_page:
 
        .globl  swapper_pg_dir
 swapper_pg_dir:
-       .space  PAGE_SIZE
-
-/*
- * This space gets a copy of optional info passed to us by the bootstrap
- * Used to pass parameters into the kernel like root=/dev/sda1, etc.
- */
-       .globl  cmd_line
-cmd_line:
-       .space  COMMAND_LINE_SIZE
+       .space  PGD_TABLE_SIZE