]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/ia64/kernel/head.S
Merge git://git.infradead.org/mtd-2.6
[linux-2.6-omap-h63xx.git] / arch / ia64 / kernel / head.S
index f1778a84ea61b95487ba5ee3f0fe01161cfe1c00..4e5e27540e278288d33911b43d0219b004bb0fec 100644 (file)
@@ -19,7 +19,6 @@
  *   Support for CPU Hotplug
  */
 
-#include <linux/config.h>
 
 #include <asm/asmmacro.h>
 #include <asm/fpu.h>
@@ -179,7 +178,7 @@ swapper_pg_dir:
 halt_msg:
        stringz "Halting kernel\n"
 
-       .text
+       .section .text.head,"ax"
 
        .global start_ap
 
@@ -198,6 +197,11 @@ start_ap:
        ;;
        srlz.i
        ;;
+ {
+       flushrs                         // must be first insn in group
+       srlz.i
+ }
+       ;;
        /*
         * Save the region registers, predicate before they get clobbered
         */
@@ -388,6 +392,8 @@ self:       hint @pause
        br.sptk.many self               // endless loop
 END(_start)
 
+       .text
+
 GLOBAL_ENTRY(ia64_save_debug_regs)
        alloc r16=ar.pfs,1,0,0,0
        mov r20=ar.lc                   // preserve ar.lc
@@ -854,7 +860,6 @@ END(__ia64_init_fpu)
  */
 GLOBAL_ENTRY(ia64_switch_mode_phys)
  {
-       alloc r2=ar.pfs,0,0,0,0
        rsm psr.i | psr.ic              // disable interrupts and interrupt collection
        mov r15=ip
  }
@@ -903,7 +908,6 @@ END(ia64_switch_mode_phys)
  */
 GLOBAL_ENTRY(ia64_switch_mode_virt)
  {
-       alloc r2=ar.pfs,0,0,0,0
        rsm psr.i | psr.ic              // disable interrupts and interrupt collection
        mov r15=ip
  }