.TITLE BOOTIO - BOOTSTRAP FILEREAD IO MODULE .IDENT /X0100/ ;++ ; FACILITY: SYSTEM BOOTSTRAPPING ; ; ABSTRACT: ; ; THIS MODULE PERFORMS LOGICAL BLOCK I/O FOR FILEREAD ; ; ENVIRONMENT: KERNEL MODE, UNMAPPED, IPL=31 ; ; AUTHOR: RICHARD I. HUSTVEDT , CREATION DATE: 14-APR-78 ; ; MODIFIED BY: ; ; , VERSION , ; 01 - ;-- ; ; INCLUDE FILES: ; $RPBDEF ; DEFINE RESTART PARAMETER BLOCK .PAGE .PSECT BOOTIO .SBTTL RDWRTLBN - READ/WRITE LOGICAL BLOCK NUMBER ;++ ; FUNCTIONAL DESCRIPTION: ; ; THIS ROUTINE READS/WRITES A DATA BLOCK FROM/TO THE SPECIFIED ; LOGICAL BLOCK NUMBER OF THE VOLUME ASSIGNED TO THE SPECIFIED CHANNEL ; ; CALLING SEQUENCE: ; ; CALLG ARGLIST,FIL$RDWRITLBN ; ; INPUT PARAMETERS: ; ; CHAN(AP) = ;CHANNEL ASSIGNED TO THE VOLUME TO READ ; LBN(AP) = ;LOGICAL BLOCK NUMBER TO READ ; BUFADR(AP) = ;ADDRESS OF BUFFER TO READ INTO ; IOFUNC(AP) = ;I/O FUNCTION CODE ; ; IMPLICIT INPUTS: ; ; NONE ; ; OUTPUT PARAMETERS: ; ; R0 = SYSTEM STATUS CODE ; ; IMPLICIT OUTPUTS: ; ; NONE ; ; COMPLETION CODES: ; ; NONE ; ; SIDE EFFECTS: ; ; NONE ; ; EQUATED SYMBOLS: ; ; OFFSETS FROM AP ; CHAN = 4 ;CHANNEL TO WHICH VOLUME IS ASSIGNED LBN = 8 ;LOGICAL BLOCK NUMBER BUFADR = 12 ;BUFFER ADDRESS TO READ INTO IOFUNC = 16 ;FUNCTION CODE FOR THE QIO ; ;-- FIL$RDWRTLBN:: .WORD 0 PUSHL CHAN(AP) ; ADDRESS OF RPB MOVL (SP),R0 ; GET ADDRESS OF RPB MOVL RPB$L_IOVEC(R0),R0 ; GET POINTER TO I/O ROUTINE VECTOR PUSHL #0 ; SET MODE TO PHYSICAL ADDRESS PUSHL IOFUNC(AP) ; SET FUNCTION PUSHL LBN(AP) ; LOGICAL BLOCK NUMBER ROTL #9,#1,-(SP) ; SET SIZE TO 512 BYTES PUSHAL @BUFADR(AP) ; SET BUFFER ADDRESS CALLS #6,@(R0)[R0] ; CALL BOOTSTRAP DRIVER RET .END