Specifications

Operating System Routines
EXE$READ
EXE$READ
Translates a logical read function into a physical read function, transfers $QIO
system service parameters to the IRP, validates and prepares a user buffer, and
proceeds with or aborts a direct-I/O, DMA read/write operation.
Module
SYSQIOFDT
Input
Location Contents
R3 Address of IRP.
R4 Address of current PCB.
R5 Address of UCB.
R6 Address of CCB.
R7 Bit number of the I/O function code.
R8 Address of FDT entry for this routine.
00(AP) Virtual address of buffer (p1).
04(AP) Number of bytes in transfer (p2). The maximum
number of bytes that EXE$READ can transfer is
65,535 (128 pages minus one byte).
12(AP) Carriage control byte (p4).
IRP$W_FUNC I/O function code.
Output
Location Contents
R0, R1, R2 Destroyed
IRP$B_IOST2 p4
IRP$W_STS IRP$V_FUNC set, indicating a read function
IRP$W_FUNC Logical read function code converted to physical
IRP$L_SVAPTE System virtual address of the process page-table
entry (PTE) that maps the first page of the buffer
IRP$W_BOFF Byte offset to start of transfer in page
IRP$L_BCNT Size of transfer in bytes
Synchronization
EXE$READ is called as a driver FDT routine at IPL$_ASTDEL.
3–47