mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] s390 (19/19): remove outdated code.
@ 2003-09-25 17:23 Martin Schwidefsky
  0 siblings, 0 replies; only message in thread
From: Martin Schwidefsky @ 2003-09-25 17:23 UTC (permalink / raw)
  To: torvalds, linux-kernel

Remove outdated ipl records from arch/s390/boot. They are now part of
the s390-tools package.

diffstat:
 arch/s390/boot/ipldump.S |  178 ---------------------------
 arch/s390/boot/ipleckd.S |  303 -----------------------------------------------
 arch/s390/boot/iplfba.S  |  131 --------------------
 3 files changed, 612 deletions(-)

diff -urN linux-2.6/arch/s390/boot/ipldump.S linux-2.6-s390/arch/s390/boot/ipldump.S
--- linux-2.6/arch/s390/boot/ipldump.S	Mon Sep  8 21:49:51 2003
+++ linux-2.6-s390/arch/s390/boot/ipldump.S	Thu Jan  1 01:00:00 1970
@@ -1,178 +0,0 @@
-/*
- *  arch/s390/boot/ipldump.S
- *
- *  S390 version
- *    Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
- *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
- *
- *  Tape dump ipl record. Put it on a tape and ipl from it and it will
- *  write a dump of the real storage after the ipl record on that tape.
- */
-
-#include <asm/setup.h>
-#include <asm/lowcore.h>
-
-#define IPL_BS 1024
-        .org   0
-        .long  0x00080000,0x80000000+_start    # The first 24 bytes are loaded
-        .long  0x07000000,0x60000001           # by ipl to addresses 0-23.
-        .long  0x02000000,0x20000000+IPL_BS    # (a PSW and two CCWs).
-        .long  0x00000000,0x00000000
-        .long  0x00000000,0x00000000           # svc old psw
-        .long  0x00000000,0x00000000           # program check old psw
-        .long  0x00000000,0x00000000           # machine check old psw
-        .long  0x00000000,0x00000000           # io old psw
-        .long  0x00000000,0x00000000
-        .long  0x00000000,0x00000000
-        .long  0x00000000,0x00000000
-        .long  0x000a0000,0x00000058           # external new psw
-        .long  0x000a0000,0x00000060           # svc new psw
-        .long  0x000a0000,0x00000068           # program check new psw
-        .long  0x000a0000,0x00000070           # machine check new psw
-        .long  0x00080000,0x80000000+.Lioint   # io new psw
-
-        .org   0x100
-        .globl _start
-_start:
-	l     %r1,0xb8                         # load ipl subchannel number
-#
-# find out memory size
-#
-        mvc   104(8),.Lpcmem0          # setup program check handler
-        slr   %r3,%r3
-        lhi   %r2,1
-        sll   %r2,20
-.Lloop0:
-        l     %r0,0(%r3)                 # test page
-        ar    %r3,%r2                    # add 1M
-        jnm   .Lloop0                    # r1 < 0x80000000 -> loop
-.Lchkmem0:
-        n     %r3,.L4malign0             # align to multiples of 4M
-        st    %r3,.Lmemsize              # store memory size
-.Lmemok:
-
-#
-# first write a tape mark
-#
-        bras  %r14,.Ltapemark
-#
-# write real storage to tape
-#	
- 	slr   %r2,%r2                          # start at address 0
-        bras  %r14,.Lwriter                    # load ramdisk
-#
-# write another tape mark
-#
-        bras  %r14,.Ltapemark
-#
-# everything written, stop processor
-#
-        lpsw  .Lstopped
-#
-# subroutine for writing to tape
-# Paramters:	
-#  R1 = device number
-#  R2 = start address
-#  R3 = length
-.Lwriter:	
-        st    %r14,.Lldret
-        la    %r12,.Lorbread                   # r12 = address of orb 
-	la    %r5,.Lirb                        # r5 = address of irb
-        st    %r2,.Lccwwrite+4                 # initialize CCW data addresses
-        lctl  %c6,%c6,.Lcr6               
-        slr   %r2,%r2
-.Lldlp:
-        lhi   %r6,3                            # 3 retries
-.Lssch:
-        ssch  0(%r12)                          # write chunk of IPL_BS bytes
-        jnz   .Llderr
-.Lw4end:
-        bras  %r14,.Lwait4io
-        tm    8(%r5),0x82                      # do we have a problem ?
-        jnz   .Lrecov
-        l     %r0,.Lccwwrite+4                 # update CCW data addresses
-        ahi   %r0,IPL_BS
-        st    %r0,.Lccwwrite+4
-        clr   %r0,%r3                          # enough ?
-        jl    .Lldlp
-.Ldone:
-        l     %r14,.Lldret
-        br    %r14                             # r2 contains the total size
-.Lrecov:
-        bras  %r14,.Lsense                     # do the sensing
-        brct  %r6,.Lssch                       # dec. retry count & branch
-        j     .Llderr
-.Ltapemark:
-        st    %r14,.Lldret
-        la    %r12,.Lorbmark                   # r12 = address of orb
-        la    %r5,.Lirb                        # r5 = address of irb
-        lctl  %c6,%c6,.Lcr6
-        ssch  0(%r12)                          # write a tape mark
-        jnz   .Llderr
-        bras  %r14,.Lwait4io
-        l     %r14,.Lldret
-        br    %r14
-#
-# Sense subroutine
-#
-.Lsense:
-        st    %r14,.Lsnsret
-        la    %r7,.Lorbsense              
-        ssch  0(%r7)                           # start sense command
-        jnz   .Llderr
-        bras  %r14,.Lwait4io
-        l     %r14,.Lsnsret
-        tm    8(%r5),0x82                      # do we have a problem ?
-        jnz   .Llderr
-        br    %r14
-#
-# Wait for interrupt subroutine
-#
-.Lwait4io:
-        lpsw  .Lwaitpsw                 
-.Lioint:
-        c     %r1,0xb8                         # compare subchannel number
-        jne   .Lwait4io
-        tsch  0(%r5)
-        slr   %r0,%r0
-        tm    8(%r5),0x82                      # do we have a problem ?
-        jnz   .Lwtexit
-        tm    8(%r5),0x04                      # got device end ?
-        jz    .Lwait4io
-.Lwtexit:
-        br    %r14
-.Llderr:
-        lpsw  .Lcrash              
-
-        .align 8
-.Lorbread:
-	.long  0x00000000,0x0080ff00,.Lccwwrite
-        .align 8
-.Lorbsense:
-        .long  0x00000000,0x0080ff00,.Lccwsense
-        .align 8
-.Lorbmark:
-        .long  0x00000000,0x0080ff00,.Lccwmark
-        .align 8
-.Lccwwrite:
-        .long  0x01200000+IPL_BS,0x00000000
-.Lccwsense:
-        .long  0x04200001,0x00000000
-.Lccwmark:
-        .long  0x1f200001,0x00000000
-.Lwaitpsw:
-	.long  0x020a0000,0x80000000+.Lioint
-
-.Lirb:	.long  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-.Lcr6:  .long  0xff000000
-        .align 8
-.Lcrash:.long  0x000a0000,0x00000000
-.Lstopped: .long 0x000a0000,0x00001234
-.Lpcmem0:.long  0x00080000,0x80000000 + .Lchkmem0
-.L4malign0:.long 0xffc00000
-.Lmemsize:.long 0
-.Lldret:.long  0
-.Lsnsret: .long 0
-
-         .org IPL_BS
-
diff -urN linux-2.6/arch/s390/boot/ipleckd.S linux-2.6-s390/arch/s390/boot/ipleckd.S
--- linux-2.6/arch/s390/boot/ipleckd.S	Mon Sep  8 21:50:01 2003
+++ linux-2.6-s390/arch/s390/boot/ipleckd.S	Thu Jan  1 01:00:00 1970
@@ -1,303 +0,0 @@
-#
-#  arch/s390/boot/ipleckd.S
-#    IPL record for 3380/3390 DASD
-#
-#  S390 version
-#    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
-#    Author(s): Holger Smolinski <Holger.Smolinski@de.ibm.com>
-#
-#
-# FIXME:	 should use the countarea to determine the blocksize
-# 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:
-# r13:	base register 	index to 0x0000
-# r14:	callers address
-# r15:	temporary save register (we have no stack!)
-
-# storage layout:
-
-#include <asm/lowcore.h>
-	
-	.org 0
-.psw:	.long 0x00080000,0x80000000+_start
-.ccw1:	.long 0x06000000,0x00001000     # Re-Read enough of bootsector to start
-.ccw2:	.long 0x00000000,0x00000000	# read countarea of record 1 to s/w.
-
-	.org 0x58
-.Lextn:	.long	0x000a0000,0x00000000+.Lextn
-.Lsvcn:	.long	0x000a0000,0x00000000+.Lsvcn
-.Lprgn:	.long	0x00080000,0x00000000+.Lecs
-.Lmcn:	.long	0x000a0000,0x00000000+.Lmcn
-.Lion:	.long   0x00080000,0x80000000+.Lionewaddr
-
-	.org 0xe0
-.Llstad:.long 	0x00000000,0x00000000	# sectorno + ct of bootlist
-
-	.org 0xf0			# Lets start now...
-_start: .globl _start
-	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
-.Lecs:  xi	.Lrdcdata+27,0x01	# enable concurrent sense
-	msch	.Lrdcdata	
-        xi      .Lprgn,6                # restore Wait and d/a bit in PCnew PSW
-	l	%r2,.Lparm
-	mvc     0x0(8,%r2),.Lnull       # set parmarea to null
-	lctl	%c6,%c6,.Lc6     	# enable all interrupts
-.Lrdc:					# read device characteristics
-	la	%r6,.Lrdcccw     
-	st      %r6,.Lorb+8		# store cp-address to orb
-	bras    %r15,.Lssch		# start I/O
-	oi	.Llodata+1,0x80
-	lh	%r5,.Lcountarea+6	# init r5 from countarea
-	stcm	%r5,3,.Lrdccw+2		# and store into rd template *FIXME*
-	stcm	%r5,3,.Llodata+14	# and store into lodata *FIXME*
-.Lbootlist:	
-	l	%r2,.Llstad	
-	l	%r3,.Lblklst     
-	lhi	%r4,1
-	bras	%r14,.Lreadblks
-.Lloader:	
-	l	%r10,.Lblklst     	# r10 is index to bootlist
-	lhi	%r5,4			# r5:	skip 4 blocks = firstpage....
-.Lkloop:
-	clc	.Lnull(8),0(%r10)	# test blocklist	
-	jz	.Lchkparm		# end of list?
-	l	%r2,0(%r10)		# get startblock to r2
-	slr	%r4,%r4			# erase r4
-	icm	%r4,1,7(%r10)		# get blockcount
-	slr	%r3,%r3			# get address to r3
-	icm 	%r3,0xe,4(%r10)
-	chi	%r5,0			# still blocks to skip?
-	jz	.Ldoread		# no: start reading
-	cr	%r5,%r4			# #skipblocks >= blockct?
-	jm	.L007			# no: skip the blocks one by one
-.L006:	
-	sr	%r5,%r4			# decrease number of blocks to skip
-	j	.Lkcont			# advance to next entry
-.L007:	
-	ahi	%r2,1			# skip 1 block...
-	bctr    %r4,0                   # update blockct
-	ah	%r3,.Lcountarea+6       # increment address
-	bct	%r5,.L007		# 4 blocks skipped?
-.Ldoread:
-	ltr	%r2,%r2			# test startblock
-	jz	.Lzeroes		# startblocks is zero (hole)
-.Ldiskread:	
-	bras	%r14,.Lreadblks
-	j	.Lkcont
-.Lzeroes:
-	lr	%r2,%r3
-.L001:	slr	%r3,%r3
-	icm	%r3,3,.Lcountarea+6     # get blocksize
-	slr	%r5,%r5			# no bytes to move
-.L008:	mvcle	%r2,%r4,0   		# fill zeroes to storage
-	jo	.L008			# until block is filled
-	brct	%r4,.L001   		# skip to next block
-.Lkcont:	
-	ahi	%r10,8
-	j	.Lkloop
-.Lchkparm:
-	lm	%r3,%r4,.Lstart         # load .Lstart and .Lparm
-	clc	0x0(4,%r4),.Lnull     
-	je	.Lrunkern
-	mvc	0x480(128,%r3),0(%r4)	# move 1k-0x80 to parmarea
-	mvc	0x500(256,%r3),0x80(%r4)
-	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
-	br	%r3
-# This function does the start IO
-# r2:	number of first block to read ( input by caller )
-# r3:	address to read data to ( input by caller )
-# r4:	number of blocks to read ( input by caller )
-# r5:	destroyed
-# r6:	blocks per track ( input by caller )
-# r7:	number of heads 
-# r8:	
-# r9:	
-# r10:	
-# r11:	temporary register
-# r12:	local use for base address
-# r13:	base address for module
-# r14:	address of caller for subroutine
-# r15:	temporary save register (since we have no stack)
-.Lreadblks:
-	la	%r12,.Ldeccw     
-	st	%r12,8+.Lorb		# store cpaddr to orb
-	ahi	%r12,0x10		# increment r12 to point to rdccw
-	oi	1(%r12),0x40		# set CC in rd template
-	# first setup the read CCWs
-	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     
-	je	.L011			
-        bras 	%r14,.Ldisab
-.L011:	
-	# loop for nbl times
-.Lrdloop:	
-	mvc	0(8,%r12),.Lrdccw     	# copy template to this ccw
-	st	%r3,4(%r12)		# store target address to this ccw
-	bct	%r4,.L005		# decrement no of blks still to do
-	ni	1(%r12),0x3f		# delete CC from last ccw
-	lr	%r4,%r15		# restore number of blocks
-	# read CCWs are setup now		
-	stcm	%r4,3,.Llodata+2     	# store blockno to lodata clears r4
-	ar	%r4,%r2			# r4 (clear): ebl = blk + nbl
-	bctr    %r4,0			# decrement r4 ( last blk touched 
-	srda	%r2,32			# trk = blk / bpt, bot = blk % bpt 
-	dr	%r2,%r6			# r3: trk, r2: bot
-	ahi	%r2,1			# bot++ ( we start counting at 1 )
-	stcm	%r2,1,.Llodata+12     	# store bot to lodata
-	xr 	%r2,%r2			# cy  = trk / heads, hd  = trk % heads
-	dr	%r2,%r7			# r3: cy, r2: hd
-	sll	%r3,16			# combine to CCHH in r3
-	or	%r3,%r2
-	st	%r3,.Ldedata+8     	# store cchh to dedata	
-	st	%r3,.Llodata+4     	# store cchh to lodata	
-	st	%r3,.Llodata+8     	# store cchh to lodata	
-	lr	%r15,%r5		# save r5
-	srda	%r4,32			# tr2 = ebl / bpt
-	dr	%r4,%r6			# r5: tr2, r4: bot2
-	xr 	%r4,%r4			# cy2 = tr2 / heads, hd2 = hd2 % heads
-	dr	%r4,%r7			# r5: cy2, r4: hd2 
-	stcm	%r5,3,.Ldedata+12     	# store cy2,hd2 to dedata
-	stcm	%r4,3,.Ldedata+14     	# store cy2,hd2 to dedata
-	lr	%r5,%r15		# restore r5
-	# CCWs are setup now, arent they?
-	bras	%r15,.Lssch		# start I/O
-	br	%r14			# return to caller
-.L005:	
-	ah 	%r3,.Lcountarea+6     	# add blocksize to target address
-	ahi	%r12,8			# add sizeof(ccw) to base address
-	j	.Lrdloop
-# end of function
-# This function does the start IO
-# r1:	Subchannel number
-# r8:	ORB address
-# r9:	IRB address
-.Lssch:
-	lhi     %r13,10			# initialize retries
-.L012:	
-	ssch	.Lorb			# start I/O
-	jz	.Ltpi			# ok?
-	bras	%r14,.Ldisab		# error
-.Ltpi:	
-	lpsw	.Lwaitpsw     		# load wait-PSW
-.Lionewaddr:	
-	c	%r1,0xb8     		# compare to ipl subhchannel
-	jnz	.Ltpi			# not equal: loop
-	clc	0xbc(4),.Lorb 		# cross check the intparm
-	jnz	.Ltpi               	# not equal:	loop 
-	tsch    .Lirb			# get status
-	tm	.Lirb+9,0xff		# channel status ?
-	jz	.L003			# CS == 0x00
-	bras	%r14,.Ldisab		# error
-.L003:
-	tm	.Lirb+8,0xf3		# DS different from CE/DE
-	jz	.L004			# ok ?
-	bct	%r13,.L012		# retries <= 5 ?
-	bras	%r14,.Ldisab		# error
-.L004:
-	tm	.Lirb+8,0x04		# DE set?
-	jz	.Ltpi			# DE not set, loop
-.Lsschend:
-	br	%r15			# return to caller
-# end of function
-# In case of error goto disabled wait with %r14 containing the caller
-.Ldisab:
-	st	%r14,.Ldisabpsw+4     
-	lpsw	.Ldisabpsw     
-
-# FIXME pre-initialized data should be listed first
-# NULLed storage can be taken from anywhere ;) 
-.Lblklst:	
-	.long   0x00002000     
-	.align 8
-.Ldisabpsw: 
-	.long 0x000a0000,0x00000000
-.Lwaitpsw:
-	.long 0x020a0000,0x00000000+.Ltpi
-.Lorb:	
-	.long 0x0049504c,0x0080ff00	# intparm is " IPL"
-.Lc6:	.long 0xff000000
-.Lstart:
-	.long	0x00010000              # do not separate .Lstart and .Lparm
-.Lparm:	
-	.long	0x00008000              # they are loaded with a LM
-.L3390:
-	.word 	0x3390
-.L9345:
-	.word	0x9345
-.L3380:
-	.word	0x3380
-.Lnull:	
-	.long 0x00000000,0x00000000
-	.align 4
-.Lrdcdata:
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-.Lirb:
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-	.long 0x00000000,0x00000000
-.Lcountarea:	
-	.word 0x0000			# cyl;
-	.word 0x0000			# head;
-	.byte 0x00			# record;
-	.byte 0x00			# key length;
-	.word 0x0000			# data length == blocksize;
-.Ldedata:
-	.long 0x40c00000,0x00000000
-	.long 0x00000000,0x00000000
-.Llodata:
-	.long 0x06000001,0x00000000
-	.long 0x00000000,0x01000000
-	.long 0x12345678
-	.org 0x7c8
-.Lrdcccw:				# CCW read device characteristics
-	.long 0x64400040,0x00000000+.Lrdcdata
-	.long 0x63400010,0x00000000+.Ldedata
-	.long 0x47400010,0x00000000+.Llodata
-	.long 0x12000008,0x00000000+.Lcountarea
-.Ldeccw:
-	.long 0x63400010,0x00000000+.Ldedata
-.Lloccw:
-	.long 0x47400010,0x00000000+.Llodata
-.Lrdccw:	
-	.long 0x86400000,0x00000000
-	.org 0x800
-# end of pre initialized data is here CCWarea follows
-# from here we load 1k blocklist 
-# end of function
-
diff -urN linux-2.6/arch/s390/boot/iplfba.S linux-2.6-s390/arch/s390/boot/iplfba.S
--- linux-2.6/arch/s390/boot/iplfba.S	Mon Sep  8 21:49:51 2003
+++ linux-2.6-s390/arch/s390/boot/iplfba.S	Thu Jan  1 01:00:00 1970
@@ -1,131 +0,0 @@
-#
-#  Ipl block for fba devices
-#    Copyright (C) 1998 IBM Corporation
-#    Author(s): Martin Schwidefsky
-#
-#  startup for ipl at address 0
-#  start with restart
-
-# The first 24 byes are loaded by ipl to addresses 0-23 (a PSW and two CCWs).
-# The CCWs on 8-23 are used as a continuation of the implicit ipl channel
-# program. The fba ipl loader only uses the CCW on 8-15 to load the first 512
-# byte block to location 0-511 (the reading starts again at block 0, byte 0).
-# The second CCW is used to store the location of the load list.
-        .org   0
-        .long  0x00080000,0x80000000+_start    # The first 24 byte are loaded
-        .long  0x02000000,0x20000200           # by ipl to addresses 0-23.
-        .long  0x00000001,0x00000001           # (PSW, one CCW & loadlist info).
-
-        .globl _start
-_start:
-	basr  %r13,0
-.LPG0:	
-	l     %r1,0xb8                         # load ipl subchannel number
-        lhi   %r2,0x200                        # location for the loadlist
-        lm    %r3,%r4,0x10                     # blocknr and length of loadlist
-        bras  %r14,.Lloader                    # load loadlist
-
-        lhi   %r11,0x400
-        lhi   %r12,0x200                       # load address of loadlist
-        l     %r3,0(%r12)                      # get first block number
-        l     %r4,4(%r12)                      # get first block count
-        la    %r12,8(%r12)
-        j     .Llistloop
-        .org  0x50
-.Llistloop:
-        lr    %r2,%r11                         # load address
-        lr    %r5,%r4                          # block count
-        mhi   %r5,512
-        la    %r11,0(%r5,%r11)                 # update load address
-        bras  %r14,.Lloader                    # load chunk of the image
-        l     %r3,0(%r12)                      # get next block number
-        icm   %r4,15,4(%r12)                   # get next block count
-        la    %r12,8(%r12)
-        jnz   .Llistloop
-
-#
-# everything loaded, go for it
-#
-        l     %r1,.Lstart-.LPG0(%r13)
-	br    %r1
-
-#
-# subroutine for loading a sequence of block from fba
-# %r2: load address (24 bit address)
-# %r3: number of first block (unsigned long)
-# %r4: number of blocks to load (unsigned short)
-#
-        .org  0xC0
-.Lloader:
-        la    %r5,.Llo-.LPG0(%r13)
-        sth   %r4,2(%r5)                       # initialize block count
-        st    %r3,4(%r5)                       # initialize block number
-        la    %r5,.Lccws-.LPG0(%r13)
-        mhi   %r4,512
-        sth   %r4,22(%r5)                      # initialize byte count
-	icm   %r2,8,16(%r5)
-        st    %r2,16(%r5)                      # initialize CCW data address
-
-        slr   %r2,%r2
-        la    %r3,.Lorb-.LPG0(%r13)            # r2 = address of orb into r2
-        la    %r4,.Ltinfo-.LPG0(%r13)          # r3 = address of tpi info block
-        la    %r5,.Lirb-.LPG0(%r13)            # r4 = address of irb
-
-        lctl  %c6,%c6,.Lc6-.LPG0(%r13)
-.Lldlp:
-        ssch  0(%r3)                           # read blocks
-.Ltpi:
-        tpi   0(%r4)                           # test pending interrupt
-        jz    .Ltpi
-        c     %r1,0(%r4)                       # compare subchannel number
-        jne   .Ltpi
-        tsch  0(%r5)
-        slr   %r0,%r0
-        tm    8(%r5),0x82                      # do we have a problem ?
-        jnz   .Ldwpsw
-        tm    8(%r5),0x04                      # got device end ?
-        jz    .Ltpi
-.Lexit:
-        br    %r14
-
-        .align 8
-.Ldwpsw:.long  0x000a0000,0x00000000
-.Lorb:	.long  0x00000000,0x0000ff00,.Lccws
-.Ltinfo:.long  0
-.Lirb:	.long  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-.Lc6:   .long  0xff000000
-.Lloadp:.long  0,0
-.Lparm:	.long  0x10400
-.Lstart:.long  0x10000
-        .align 8
-.Lccws: .long  0x63000000+.Lde,0x60000010      # define extent
-        .long  0x43000000+.Llo,0x60000008      # locate
-# offset 1 in read CCW: data address (24 bit)
-# offset 6 in read CCW: number of bytes (16 bit)
-        .long  0x42000000,0x20000000           # read
-.Lde:   .long  0x40000200,0x00000000
-        .long  0x00000000,0x00001000
-# offset 2 in .Llo: block count (unsigned short)
-# offset 4 in .Llo: block number (unsigned long)
-.Llo:   .long  0x06000000,0x00000000
-
-        .org   0x200
-        .long  0x00000002,0x0000007f
-        .long  0x00000081,0x0000007f
-        .long  0x00000100,0x0000007f
-        .long  0x0000017f,0x0000007f
-        .long  0x000001fe,0x0000007f
-        .long  0x0000027d,0x0000007f
-        .long  0x000002fc,0x0000007f
-        .long  0x0000037b,0x0000007f
-        .long  0x000003fa,0x0000007f
-        .long  0x00000479,0x0000007f
-        .long  0x000004f8,0x0000007f
-        .long  0x00000577,0x0000007f
-        .long  0x000005f6,0x0000007f
-        .long  0x00000675,0x0000007f
-        .long  0x000006f4,0x0000007f
-        .long  0x00000773,0x0000003f
-        .long  0x00000000,0x00000000
-        .org   0x400
-

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-09-25 17:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-25 17:23 [PATCH] s390 (19/19): remove outdated code Martin Schwidefsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®