!*** MODULE $VADEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! + ! VIRTUAL ADDRESS VIELDS ! - PARAMETER VA$M_P1 = '40000000'X PARAMETER VA$M_SYSTEM = '80000000'X PARAMETER VA$M_BYTES_PER_PAGELET = '000001FF'X PARAMETER VA$M_BYTE_IN_PAGELET = '000001FF'X PARAMETER VA$M_VRN = '00000000'X PARAMETER VA$C_VRN_SYSTEM = '00000007'X ! VRN for system space PARAMETER VA$C_REGION_COUNT = '00000008'X ! Number of virtual regions PARAMETER VA$M_VRNX = '00000000'X PARAMETER VA$C_VRNX_SYSTEM = '0000000F'X ! VRNX for system space PARAMETER VA$C_VRNX_COUNT = '00000010'X ! Number of virtual address spaces PARAMETER VA$S_VADEF = '00000008'X PARAMETER VA$C_PAGELET_SIZE = '00000200'X PARAMETER VA$C_PAGELET_SHIFT_SIZE = '00000009'X STRUCTURE /VA/ UNION MAP INTEGER*4 VA$Q_QUAD(2) END MAP MAP PARAMETER VA$S_P1 = 1 PARAMETER VA$V_P1 = 30 ! P1 SPACE PARAMETER VA$S_SYSTEM = 1 PARAMETER VA$V_SYSTEM = 31 BYTE %FILL (1) ! SYSTEM SPACE END MAP MAP PARAMETER VA$S_BYTES_PER_PAGELET = 9 PARAMETER VA$V_BYTES_PER_PAGELET = 0 ! BYTES PER PAGELET BYTE %FILL (2) END MAP MAP PARAMETER VA$S_BYTE_IN_PAGELET = 9 PARAMETER VA$V_BYTE_IN_PAGELET = 0 ! BYTE IN PAGELET (common name) BYTE %FILL (2) END MAP MAP PARAMETER VA$S_VRN = 3 PARAMETER VA$V_VRN = 61 BYTE %FILL (1) ! Virtual Region Number END MAP MAP PARAMETER VA$S_VRNX = 4 PARAMETER VA$V_VRNX = 60 BYTE %FILL (1) ! Virtual Address Space END MAP END UNION END STRUCTURE ! VA ! + ! Process permanent region ids ! - PARAMETER VA$C_P0 = '00000000'X ! Region id for 32-bit program region PARAMETER VA$C_P1 = '00000001'X ! Region id for control region PARAMETER VA$C_P2 = '00000002'X ! Region id for 64-bit program region PARAMETER VA$M_DESCEND = '00000001'X PARAMETER VA$M_P0_SPACE = '00000002'X PARAMETER VA$M_P1_SPACE = '00000004'X PARAMETER VA$M_PERMANENT = '00000008'X PARAMETER VA$M_EXPAND_ON_ACCVIO = '00000010'X PARAMETER VA$M_SHARED_PTS = '00000040'X PARAMETER VA$M_OWNER_MODE = '0000000F'X PARAMETER VA$M_CREATE_MODE = '000000F0'X PARAMETER VA$C_REGSUM_LENGTH = '00000028'X PARAMETER VA$_REGSUM_BY_ID = '00000000'X PARAMETER VA$_REGSUM_BY_VA = '00000001'X PARAMETER VA$_NEXT_REGSUM_BY_VA = '00000002'X ! + PARAMETER VA$C_REGION_UCREATE_UOWN = '00000033'X PARAMETER VA$C_REGION_UCREATE_SOWN = '00000032'X PARAMETER VA$C_REGION_UCREATE_EOWN = '00000031'X PARAMETER VA$C_REGION_UCREATE_KOWN = '00000030'X PARAMETER VA$C_REGION_SCREATE_SOWN = '00000022'X PARAMETER VA$C_REGION_SCREATE_EOWN = '00000021'X PARAMETER VA$C_REGION_SCREATE_KOWN = '00000020'X PARAMETER VA$C_REGION_ECREATE_EOWN = '00000011'X PARAMETER VA$C_REGION_ECREATE_KOWN = '00000010'X PARAMETER VA$C_REGION_KCREATE_KOWN = '00000000'X STRUCTURE /REGSUM/ INTEGER*4 VA$Q_REGION_ID(2) ! Id of region UNION MAP INTEGER*4 VA$L_FLAGS ! FLAGS longword END MAP MAP PARAMETER VA$S_DESCEND = 1 PARAMETER VA$V_DESCEND = 0 ! Region is descending PARAMETER VA$S_P0_SPACE = 1 PARAMETER VA$V_P0_SPACE = 1 ! Region is in P0 space PARAMETER VA$S_P1_SPACE = 1 PARAMETER VA$V_P1_SPACE = 2 ! Region is in P1 space PARAMETER VA$S_PERMANENT = 1 PARAMETER VA$V_PERMANENT = 3 ! Region is permanent PARAMETER VA$S_EXPAND_ON_ACCVIO = 1 PARAMETER VA$V_EXPAND_ON_ACCVIO = 4 ! Expand within region on accvio ! public interface. PARAMETER VA$S_SHARED_PTS = 1 PARAMETER VA$V_SHARED_PTS = 6 ! Region is a shared PT region BYTE %FILL (1) END MAP END UNION UNION MAP INTEGER*4 VA$L_REGION_PROTECTION END MAP MAP PARAMETER VA$S_OWNER_MODE = 4 PARAMETER VA$V_OWNER_MODE = 0 ! Region owner mode PARAMETER VA$S_CREATE_MODE = 4 PARAMETER VA$V_CREATE_MODE = 4 BYTE %FILL (1) ! Region create mode END MAP END UNION UNION MAP INTEGER*8 VA$PQ_START_VA ! Lowest address in region END MAP MAP INTEGER*4 VA$PS_START_VA ! Lowest address in 32-bit region END MAP END UNION UNION MAP INTEGER*4 VA$Q_REGION_SIZE(2) ! Size of region END MAP MAP INTEGER*4 VA$L_REGION_SIZE ! Size of 32-bit region END MAP END UNION UNION MAP INTEGER*8 VA$PQ_FIRST_FREE_VA ! First free VA in region END MAP MAP INTEGER*4 VA$PS_FIRST_FREE_VA ! First free VA in 32-bit region END MAP END UNION ! Region protection encodings ! - END STRUCTURE ! REGSUM ! + ! VA flags ! - PARAMETER VA$M_NO_OVERMAP = '00000001'X STRUCTURE /VA_FLAGS/ PARAMETER VA$S_NO_OVERMAP = 1 PARAMETER VA$V_NO_OVERMAP = 0 ! Do not overmap while creating pages BYTE %FILL (1) END STRUCTURE ! VA_FLAGS ! + ! SETSTK_64 flags ! - PARAMETER VA$M_SETSTK_REGISTER = '00000001'X STRUCTURE /SETSTK_FLAGS/ PARAMETER VA$S_SETSTK_REGISTER = 1 PARAMETER VA$V_SETSTK_REGISTER = 0 ! Set register stack limits BYTE %FILL (1) END STRUCTURE ! SETSTK_FLAGS !DEC$ END OPTIONS