# Early machine initialization and detection functions.
 #
        brasl   %r14,startup_init
-       lpswe   .Lentry-.LPG1(13)       # jump to _stext in primary-space,
-                                       # virtual and never return ...
+
+# check control registers
+       stctg   %c0,%c15,0(%r15)
+       oi      6(%r15),0x60            # enable sigp emergency & external call
+       oi      4(%r15),0x10            # switch on low address proctection
+       lctlg   %c0,%c15,0(%r15)
+
+       lam     0,15,.Laregs-.LPG1(%r13)        # load acrs needed by uaccess
+       brasl   %r14,start_kernel               # go to C code
+#
+# We returned from start_kernel ?!? PANIK
+#
+       basr    %r13,0
+       lpswe   .Ldw-.(%r13)            # load disabled wait psw
+
        .align  16
 .LPG1:
-.Lentry:.quad  0x0000000180000000,_stext
 .Lctl: .quad   0x04040000              # cr0: AFP registers & secondary space
        .quad   0                       # cr1: primary space segment table
        .quad   .Lduct                  # cr2: dispatchable unit control table
        .endr
 .Llinkage_stack:
        .long   0,0,0x89000000,0,0,0,0x8a000000,0
-
-#
-# startup-code, running in absolute addressing mode
-#
-ENTRY(_stext)
-       basr    %r13,0                  # get base
-.LPG3:
-# check control registers
-       stctg   %c0,%c15,0(%r15)
-       oi      6(%r15),0x60            # enable sigp emergency & external call
-       oi      4(%r15),0x10            # switch on low address proctection
-       lctlg   %c0,%c15,0(%r15)
-
-       lam     0,15,.Laregs-.LPG3(%r13)        # load acrs needed by uaccess
-       brasl   %r14,start_kernel       # go to C code
-#
-# We returned from start_kernel ?!? PANIK
-#
-       basr    %r13,0
-       lpswe   .Ldw-.(%r13)            # load disabled wait psw
-
-       .align  8
 .Ldw:  .quad   0x0002000180000000,0x0000000000000000
 .Laregs:.long  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0