#include <asm/unistd.h>
 #include <asm/errno.h>
 #include <linux/linkage.h>
-#include <linux/init.h>
 
        .level  LEVEL
-       __HEAD
+       .text
 
        .import hpux_call_table
        .import hpux_syscall_exit,code
 
 #include <asm/assembly.h>
 #include <asm/signal.h>
 #include <linux/linkage.h>
-#include <linux/init.h>
 
        .level  LEVEL
-       __HEAD
+       .text
 
        /* These should probably go in a header file somewhere.
         * They are duplicated in kernel/wrappers.S
 
 #include <asm/thread_info.h>
 
 #include <linux/linkage.h>
-#include <linux/init.h>
 
 #ifdef CONFIG_64BIT
        .level 2.0w
         * the static part of the kernel address space.
         */
 
-       __HEAD
+       .text
 
        .align  PAGE_SIZE
 
 
        .word 0 /* arg3 */
 END(boot_args)
 
-       __HEAD
+       .section .text.head
        .align  4
        .import init_thread_union,data
        .import fault_vector_20,code    /* IVA parisc 2.0 32 bit */
 
 #include <asm/pdc.h>
 
 #include <linux/linkage.h>
-#include <linux/init.h>
 
        /*
         * stack for os_hpmc, the HPMC handler.
        .block HPMC_PIM_DATA_SIZE
 END(hpmc_pim_data)
 
-       __HEAD
+       .text
 
        .import intr_save, code
 ENTRY(os_hpmc)
 
 #include <asm/pgtable.h>
 #include <asm/cache.h>
 #include <linux/linkage.h>
-#include <linux/init.h>
 
-       __HEAD
+       .text
        .align  128
 
 ENTRY(flush_tlb_all_local)
 
 ; The coprocessor only needs to be enabled when
 ; starting/stopping the coprocessor with the pmenb/pmdis.
 ;
-       __HEAD
+       .text
 
 ENTRY(perf_intrigue_enable_perf_counters)
        .proc
 
 #include <asm/assembly.h>
 
 #include <linux/linkage.h>
-#include <linux/init.h>
 
        .section        .bss
        .export real_stack
 /************************ 32-bit real-mode calls ***********************/
 /* This can be called in both narrow and wide kernels */
 
-       __HEAD
+       .text
 
        /* unsigned long real32_call_asm(unsigned int *sp,
         *              unsigned int *arg0p,
 #  define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where)
 #  define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r
 
-       __HEAD
+       .text
 save_control_regs:
        load32  PA(save_cr_space), %r28
        PUSH_CR(%cr24, %r28)
 /* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for
  * more general-purpose use by the several places which need RFIs
  */
-       __HEAD
+       .text
        .align 128
 rfi_virt2real:
        /* switch to real mode... */
        bv      0(%r2)
        nop
 
-       __HEAD
+       .text
        .align 128
 rfi_real2virt:
        rsm             PSW_SM_I,%r0
 
 /************************ 64-bit real-mode calls ***********************/
 /* This is only usable in wide kernels right now and will probably stay so */
-       __HEAD
+       .text
        /* unsigned long real64_call_asm(unsigned long *sp,
         *              unsigned long *arg0p,
         *              unsigned long fn)
 
 #endif
 
-       __HEAD
+       .text
        /* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
        **      GCC 3.3 and later has a new function in libgcc.a for
        **      comparing function pointers.
 
 #include <asm/processor.h>
 
 #include <linux/linkage.h>
-#include <linux/init.h>
 
        /* We fill the empty parts of the gateway page with
         * something that will kill the kernel or a
 
        .level          LEVEL
 
-       __HEAD
+       .text
 
        .import syscall_exit,code
        .import syscall_exit_rfi,code
                All light-weight-syscall atomic operations 
                will use this set of locks 
        */
-       .section .data, "aw"
+       .section .data
        .align  PAGE_SIZE
 ENTRY(lws_lock_start)
        /* lws locks */
 
 #include <asm/assembly.h>
 #include <asm/errno.h>
 #include <linux/linkage.h>
-#include <linux/init.h>
 
 #ifdef CONFIG_SMP
        .macro  get_fault_ip t1 t2
 
        .level LEVEL
 
-       __HEAD
+       .text
        .section .fixup, "ax"
 
        /* get_user() fixups, store -EFAULT in r8, and 0 in r9 */
 
  */
 
 
+       .text
+       
 #include <asm/assembly.h>
 #include <asm/errno.h>
 #include <linux/linkage.h>
-#include <linux/init.h>
-
-       __HEAD
 
        /*
         * get_sr gets the appropriate space value into