LOCKDB          - LOCK AND UNLOCK I/O DATA BASE                  21-AUG-1978 23:25:18   VAX-11 MACRO X0.3-11               Page   1

A0001                                                                                                                            (1)



                                     0000     1 	.TITLE	LOCKDB - LOCK AND UNLOCK I/O DATA BASE

                                     0000     2 	.IDENT	"A0001"

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1976

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000     9 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000    10 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    11 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    12 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    13 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000    17 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ;

                                     0000    25 ; FACILITY:  F11ACP STRUCTURE LEVEL 1

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;

                                     0000    29 ;	THESE ROUTINES LOCK AND UNLOCK THE I/O DATA BASE MUTEX.

                                     0000    30 ;	NEEDLESS TO SAY, THEY MUST BE CALLED IN KERNEL MODE.

                                     0000    31 ;

                                     0000    32 ; ENVIRONMENT:

                                     0000    33 ;

                                     0000    34 ;	STARLET OPERATING SYSTEM, INCLUDING PRIVILEGED SYSTEM SERVICES

                                     0000    35 ;	AND INTERNAL EXEC ROUTINE.

                                     0000    36 ;

                                     0000    37 ; AUTHOR:  ANDREW C. GOLDSTEIN, CREATION DATE:  29-APR-1977  15:31

                                     0000    38 ;

                                     0000    39 ; MODIFIED BY:

                                     0000    40 ;

                                     0000    41 ;  , VERSION  ,

                                     0000    42 ; 01	- 

                                     0000    43 ;--

                                     0000    44 

                                     0000    45 

                                     0000    46 	$PRDEF			; DEFINE PROCESOR REGISTER NUMBERS

LOCKDB          - LOCK AND UNLOCK I/O DATA BASE                  21-AUG-1978 23:25:18   VAX-11 MACRO X0.3-11               Page   2

A0001                                                                                                                            (2)



                                     0000    48 ;++

                                     0000    49 ;

                                     0000    50 ; FUNCTIONAL DESCRIPTION:

                                     0000    51 ;

                                     0000    52 ;	THIS ROUTINE LOCKS THE I/O DATA BASE MUTEX.

                                     0000    53 ;

                                     0000    54 ; CALLING SEQUENCE:

                                     0000    55 ;	CALL LOCK_IODB ()

                                     0000    56 ;

                                     0000    57 ; INPUT PARAMETERS:

                                     0000    58 ;	NONE

                                     0000    59 ;

                                     0000    60 ; IMPLICIT INPUTS:

                                     0000    61 ;	NONE

                                     0000    62 ;

                                     0000    63 ; OUTPUT PARAMETERS:

                                     0000    64 ;	NONE

                                     0000    65 ;

                                     0000    66 ; IMPLICIT OUTPUTS:

                                     0000    67 ;	NONE

                                     0000    68 ;

                                     0000    69 ; ROUTINE VALUE:

                                     0000    70 ;	NONE

                                     0000    71 ;

                                     0000    72 ; SIDE EFFECTS:

                                     0000    73 ;	I/O DATA BASE MUTEX LOCKED

                                     0000    74 ;

                                     0000    75 ;--

                                     0000    76 

                                 00000000    77 	.PSECT	$LOCKEDC1$,NOWRT

                                     0000    78 

                                     0000    79 LOCK_IODB::

                               003C  0000    80 	.WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS

            50   00000000'9F     DE  0002    81 	MOVAL	@#IOC$GL_MUTEX,R0	; GET I/O DATA BASE MUTEX

            54   00000000'9F     D0  0009    82 	MOVL	@#SCH$GL_CURPCB,R4	; GET OWN PCB ADDRESS

                 00000000'9F     16  0010    83 	JSB	@#SCH$LOCKW		; AND LOCK IT

                                 04  0016    84 	RET

LOCKDB          - LOCK AND UNLOCK I/O DATA BASE                  21-AUG-1978 23:25:18   VAX-11 MACRO X0.3-11               Page   3

A0001                                                                                                                            (3)



                                     0017    86 ;++

                                     0017    87 ;

                                     0017    88 ; FUNCTIONAL DESCRIPTION:

                                     0017    89 ;

                                     0017    90 ;	THIS ROUTINE UNLOCKS THE I/O DATA BASE MUTEX.

                                     0017    91 ;

                                     0017    92 ; CALLING SEQUENCE:

                                     0017    93 ;	CALL UNLOCK_IODB ()

                                     0017    94 ;

                                     0017    95 ; INPUT PARAMETERS:

                                     0017    96 ;	NONE

                                     0017    97 ;

                                     0017    98 ; IMPLICIT INPUTS:

                                     0017    99 ;	NONE

                                     0017   100 ;

                                     0017   101 ; OUTPUT PARAMETERS:

                                     0017   102 ;	NONE

                                     0017   103 ;

                                     0017   104 ; IMPLICIT OUTPUTS:

                                     0017   105 ;	NONE

                                     0017   106 ;

                                     0017   107 ; ROUTINE VALUE:

                                     0017   108 ;	NONE

                                     0017   109 ;

                                     0017   110 ; SIDE EFFECTS:

                                     0017   111 ;	I/O DATA BASE MUTEX UNLOCKED

                                     0017   112 ;	IPL LOWERED TO 0

                                     0017   113 ;

                                     0017   114 ;--

                                     0017   115 

                                 00000017   116 	.PSECT	$LOCKEDC1$,NOWRT

                                     0017   117 

                                     0017   118 UNLOCK_IODB::

                               003C  0017   119 	.WORD	^M<R2,R3,R4,R5>		; SAVE REGISTERS

            50   00000000'9F     DE  0019   120 	MOVAL	@#IOC$GL_MUTEX,R0	; GET I/O DATA BASE MUTEX

            54   00000000'9F     D0  0020   121 	MOVL	@#SCH$GL_CURPCB,R4	; AND OWN PCB ADDRESS

                 00000000'9F     16  0027   122 	JSB	@#SCH$UNLOCK		; AND UNLOCK IT

                                     002D   123 	SETIPL	#0			; ALSO LOWER IPL

                                 04  0030   124 	RET

                                     0031   125 

                                     0031   126 

                                     0031   127 

                                     0031   128 	.END

LOCKDB          - LOCK AND UNLOCK I/O DATA BASE                  21-AUG-1978 23:25:18   VAX-11 MACRO X0.3-11               Page   4

SYMBOL TABLE                                                                                                                     (3)



AQB_TYPE       = 00000005            

BIT...         = 00000000            

FCB_TYPE       = 00000000            

GBL...         = 00000000            

IOC$GL_MUTEX     ********   X   03   

LOCK_IODB        00000000 RG    03   

MVL_TYPE       = 00000004            

PR$_ACCR       = 00000029            

PR$_ACCS       = 00000028            

PR$_ASTLVL     = 00000013            

PR$_ESP        = 00000001            

PR$_ICCS       = 00000018            

PR$_ICR        = 0000001A            

PR$_IPL        = 00000012            

PR$_ISP        = 00000004            

PR$_KSP        = 00000000            

PR$_MAPEN      = 00000038            

PR$_NICR       = 00000019            

PR$_P0BR       = 00000008            

PR$_P0LR       = 00000009            

PR$_P1BR       = 0000000A            

PR$_P1LR       = 0000000B            

PR$_PCBB       = 00000010            

PR$_PME        = 0000003D            

PR$_RXCS       = 00000020            

PR$_RXDB       = 00000021            

PR$_SBIER      = 00000034            

PR$_SBIFS      = 00000030            

PR$_SBIMT      = 00000033            

PR$_SBIQC      = 00000036            

PR$_SBIS       = 00000031            

PR$_SBISC      = 00000032            

PR$_SBITA      = 00000035            

PR$_SBR        = 0000000C            

PR$_SCBB       = 00000011            

PR$_SID        = 0000003E            

PR$_SIRR       = 00000014            

PR$_SISR       = 00000015            

PR$_SLR        = 0000000D            

PR$_SSP        = 00000002            

PR$_TBIA       = 00000039            

PR$_TBIS       = 0000003A            

PR$_TODR       = 0000001B            

PR$_TXCS       = 00000022            

PR$_TXDB       = 00000023            

PR$_USP        = 00000003            

PR$_WCSA       = 0000002C            

PR$_WCSD       = 0000002D            

RVT_TYPE       = 00000003            

SCH$GL_CURPCB    ********   X   03   

SCH$LOCKW        ********   X   03   

SCH$UNLOCK       ********   X   03   

UNLOCK_IODB      00000017 RG    03   

VCB_TYPE       = 00000002            

WCB_TYPE       = 00000001            





LOCKDB          - LOCK AND UNLOCK I/O DATA BASE                  21-AUG-1978 23:25:18   VAX-11 MACRO X0.3-11               Page   5

PROGRAM SECTION SYNOPSIS                                                                                                         (3)



PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            00000000      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

$LOCKEDC1$       00000031      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

24278. BYTES LEFT IN FREE MEMORY POOL.

720. BYTES OF RECLAIMED MEMORY.

OBJ$:LOCKDB,LIS$:LOCKDB/-SP=EXECML$/ML,SRC$:MTADEF,LOCKDB

2 MLB DIR RDS - 102 GETS TO DEFINE 8 MACROS. 6 INTER. FILE WRITES. 

