patch-2.4.2 linux/arch/s390/boot/ipleckd.S

Next file: linux/arch/s390/config.in
Previous file: linux/arch/s390/boot/ipldump.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.1/linux/arch/s390/boot/ipleckd.S linux/arch/s390/boot/ipleckd.S
@@ -3,7 +3,7 @@
 #    IPL record for 3380/3390 DASD
 #
 #  S390 version
-#    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+#    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
 #    Author(s): Holger Smolinski <Holger.Smolinski@de.ibm.com>
 #
 #
@@ -11,6 +11,8 @@
 # FIXME:	 should insert zeroes into memory when filling holes
 # FIXME:	 calculate blkpertrack from rdc data and blksize
 
+# change 09/20/00       removed obsolete store of ipldevice to textesegment
+
 # Usage of registers
 # r1:	ipl subchannel ( general use, dont overload without save/restore !)
 # r10:
@@ -39,7 +41,7 @@
 
 	.org 0xf0			# Lets start now...
 _start: .globl _start
-	l  	%r1,__LC_SUBCHANNEL_ID  # get IPL-subchannel from lowcore
+	l  	%r1,__LC_SUBCHANNEL_ID	# get IPL-subchannel from lowcore
 	st	%r1,__LC_IPLDEV         # keep it for reipl
 	stsch	.Lrdcdata
 	oi      .Lrdcdata+5,0x84        # enable ssch and multipath mode
@@ -111,10 +113,10 @@
 	mvc	0x600(256,%r3),0x180(%r4)
 	mvc	0x700(256,%r3),0x280(%r4)
 .Lrunkern:
-	lhi	%r2,17
-	sll	%r2,12
-	st	%r1,0xc6c(%r2)		# store iplsubchannel to lowcore
-	st	%r1,0xc6c		# store iplsubchannel to lowcore
+#	lhi	%r2,17
+#	sll	%r2,12
+#	st	%r1,0xc6c(%r2)		# store iplsubchannel to lowcore
+#	st	%r1,0xc6c		# store iplsubchannel to lowcore
 	br	%r3
 # This function does the start IO
 # r2:	number of first block to read ( input by caller )
@@ -140,17 +142,16 @@
 	lr	%r15,%r4		# save number or blocks
 	slr	%r7,%r7
 	icm	%r7,3,.Lrdcdata+14      # load heads to r7
+	lhi     %r6,9
+	clc     .Lrdcdata+3(2),.L9345
+	je	.L011
+	lhi	%r6,10
+	clc	.Lrdcdata+3(2),.L3380
+	je	.L011
+	lhi	%r6,12
 	clc	.Lrdcdata+3(2),.L3390     
-	jne	.L010			# 3380 or 3390 ?
-	lhi	%r6,12			# setup r6 correct!
-	j	.L011
-.L010:	
-        clc     .Lrdcdata+3(2),.L9343
-        jne     .L013
-        lhi     %r6,9
-        j       .L011
-.L013:
-	lhi	%r6,10	
+	je	.L011			
+        bras 	%r14,.Ldisab
 .L011:	
 	# loop for nbl times
 .Lrdloop:	
@@ -245,10 +246,13 @@
 	.long	0x00008000              # they are loaded with a LM
 .L3390:
 	.word 	0x3390
-.L9343:
-	.word	0x9343
+.L9345:
+	.word	0x9345
+.L3380:
+	.word	0x3380
 .Lnull:	
 	.long 0x00000000,0x00000000
+	.align 4
 .Lrdcdata:
 	.long 0x00000000,0x00000000
 	.long 0x00000000,0x00000000

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)