.TITLE LCK$VM - LOCK VM BUFFER .SBTTL LCK$VM - TITLE PAGE .PSECT VMX$$$,RO,I .IDENT /V01.01/ .ENABL LC ; ; ************************************************************************ ; * ; THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS ONLY. DIGITAL EQUIPMENT * ; COMPUTER USER'S SOCIETY, DIGITAL EQUIPMENT CORPORATION, MONSANTO, AND * ; THE AUTHOR DISCLAIM ALL WARRANTIES ON THE PROGRAM, INCLUDING WITHOUT * ; LIMITATION, ALL IMPLIED WARRANTIES OF MERCHANTABLITY AND FITNESS. * ; * ; FULL PERMISSION AND CONSENT IS HEREBY GIVEN TO DECUS AND TO THE DECUS * ; SPECIAL INTEREST GROUPS TO REPRODUCE, DISTRIBUTE, AND PUBLISH AND * ; PERMIT OTHERS TO REPRODUCE IN WHOLE OR IN PART, IN ANY FORM AND * ; WITHOUT RESTRICTION, THIS PROGRAM AND ANY INFORMATION RELATING TO IT. * ; * ; ************************************************************************ ; ; LOCK VM BUFFER ; ; VERSION: V01.01 ; ; AUTHOR: R.W. STAMERJOHN MAPC 03-NOV-81 ; ; MODIFICATION HISTORY: ; ; V01.01 RWS 03-NOV-81 INITIAL VERSION ; .SBTTL LCK$VM - DECLARATIONS .DSABL GBL .DSABL CRF ; ; MACRO LIBRARY CALLS: ; .MCALL CALLR ;Call subroutine and return ; ; GLOBAL DECLARATIONS: ; .GLOBL LCK$VM ;Module entry ; ; GLOBAL REFERENCES: ; ; VM subroutines. ; .GLOBL LCK$VI ;Lock virtual buffer .GLOBL MAP$VI ;Map virtual buffer .GLOBL S32$VI ;Check size is in range .ENABL CRF .SBTTL LCK$VM * LOCK VM BUFFER ; ;+ ; This routine locks the specified virtual buffer into memory until ; released by an unlock call. ; ; INPUT: ; ; Call by: JSR PC, LCK$VM ; ; R0,R1 = Virtual address ; R3 = Size of virtual buffer ; ; OUTPUT: ; ; The buffer starting at the virtual address is locked into memory. ; If necessary, the space is read into memory. ; ; REGISTERS: ; ; Uses: R0-R5 Saves: R0-R4 Stack: 1 words ;- LCK$VM:: ;Ref label CALL S32$VI ;Check size is legal CALL MAP$VI ;Map virtual buffer CALLR LCK$VI ;Call lock routine and return .END