aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2015-11-13 08:17:14 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-11-16 06:51:11 -0500
commitf52c74fee95f1f4dd2bc1c75e016d849150eb2de (patch)
tree3f3a690b00106163205d70921b9fc2ab1cb5f4a6
parent932f608193cdbd3a275a4aefb94760dfd4a1f736 (diff)
s390: remove SALIPL loader
There is no known user, therefore remove the code. Acked-by: Rob Van Der Heij <robvdheij@nl.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/kernel/head.S87
1 files changed, 8 insertions, 79 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S
index 1b0f624cebd7..301ee9c70688 100644
--- a/arch/s390/kernel/head.S
+++ b/arch/s390/kernel/head.S
@@ -60,19 +60,6 @@ __HEAD
60 .long 0x020006e0,0x20000050 60 .long 0x020006e0,0x20000050
61 61
62 .org 0x200 62 .org 0x200
63#
64# subroutine to set architecture mode
65#
66.Lsetmode:
67 mvi __LC_AR_MODE_ID,1 # set esame flag
68 slr %r0,%r0 # set cpuid to zero
69 lhi %r1,2 # mode 2 = esame (dump)
70 sigp %r1,%r0,0x12 # switch to esame mode
71 bras %r13,0f
72 .fill 16,4,0x0
730: lmh %r0,%r15,0(%r13) # clear high-order half of gprs
74 sam31 # switch to 31 bit addressing mode
75 br %r14
76 63
77# 64#
78# subroutine to wait for end I/O 65# subroutine to wait for end I/O
@@ -160,7 +147,14 @@ __HEAD
160 .long 0x02200050,0x00000000 147 .long 0x02200050,0x00000000
161 148
162iplstart: 149iplstart:
163 bas %r14,.Lsetmode # Immediately switch to 64 bit mode 150 mvi __LC_AR_MODE_ID,1 # set esame flag
151 slr %r0,%r0 # set cpuid to zero
152 lhi %r1,2 # mode 2 = esame (dump)
153 sigp %r1,%r0,0x12 # switch to esame mode
154 bras %r13,0f
155 .fill 16,4,0x0
1560: lmh %r0,%r15,0(%r13) # clear high-order half of gprs
157 sam31 # switch to 31 bit addressing mode
164 lh %r1,0xb8 # test if subchannel number 158 lh %r1,0xb8 # test if subchannel number
165 bct %r1,.Lnoload # is valid 159 bct %r1,.Lnoload # is valid
166 l %r1,0xb8 # load ipl subchannel number 160 l %r1,0xb8 # load ipl subchannel number
@@ -270,71 +264,6 @@ iplstart:
270.Lcpuid:.fill 8,1,0 264.Lcpuid:.fill 8,1,0
271 265
272# 266#
273# SALIPL loader support. Based on a patch by Rob van der Heij.
274# This entry point is called directly from the SALIPL loader and
275# doesn't need a builtin ipl record.
276#
277 .org 0x800
278ENTRY(start)
279 stm %r0,%r15,0x07b0 # store registers
280 bas %r14,.Lsetmode # Immediately switch to 64 bit mode
281 basr %r12,%r0
282.base:
283 l %r11,.parm
284 l %r8,.cmd # pointer to command buffer
285
286 ltr %r9,%r9 # do we have SALIPL parameters?
287 bp .sk8x8
288
289 mvc 0(64,%r8),0x00b0 # copy saved registers
290 xc 64(240-64,%r8),0(%r8) # remainder of buffer
291 tr 0(64,%r8),.lowcase
292 b .gotr
293.sk8x8:
294 mvc 0(240,%r8),0(%r9) # copy iplparms into buffer
295.gotr:
296 slr %r0,%r0
297 st %r0,INITRD_SIZE+ARCH_OFFSET-PARMAREA(%r11)
298 st %r0,INITRD_START+ARCH_OFFSET-PARMAREA(%r11)
299 j startup # continue with startup
300.cmd: .long COMMAND_LINE # address of command line buffer
301.parm: .long PARMAREA
302.lowcase:
303 .byte 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07
304 .byte 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f
305 .byte 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17
306 .byte 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f
307 .byte 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27
308 .byte 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f
309 .byte 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37
310 .byte 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f
311 .byte 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47
312 .byte 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f
313 .byte 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57
314 .byte 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f
315 .byte 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67
316 .byte 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f
317 .byte 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77
318 .byte 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f
319
320 .byte 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87
321 .byte 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f
322 .byte 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97
323 .byte 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f
324 .byte 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7
325 .byte 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf
326 .byte 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7
327 .byte 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf
328 .byte 0xc0,0x81,0x82,0x83,0x84,0x85,0x86,0x87 # .abcdefg
329 .byte 0x88,0x89,0xca,0xcb,0xcc,0xcd,0xce,0xcf # hi
330 .byte 0xd0,0x91,0x92,0x93,0x94,0x95,0x96,0x97 # .jklmnop
331 .byte 0x98,0x99,0xda,0xdb,0xdc,0xdd,0xde,0xdf # qr
332 .byte 0xe0,0xe1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7 # ..stuvwx
333 .byte 0xa8,0xa9,0xea,0xeb,0xec,0xed,0xee,0xef # yz
334 .byte 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7
335 .byte 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
336
337#
338# startup-code at 0x10000, running in absolute addressing mode 267# startup-code at 0x10000, running in absolute addressing mode
339# this is called either by the ipl loader or directly by PSW restart 268# this is called either by the ipl loader or directly by PSW restart
340# or linload or SALIPL 269# or linload or SALIPL