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
- Lines: 85
- Date:
Tue Feb 13 14:13:43 2001
- Orig file:
v2.4.1/linux/arch/s390/boot/ipleckd.S
- Orig date:
Fri May 12 11:41:44 2000
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)