--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:35 by OpenVMS SDL EV3-3 -- Source: 25-APR-2014 01:05:52 $1$DGA8085:[LIB_ADA.LIS]SCHDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package SCHDEF is -- module $SCHDEF SCH_C_SWPPIX : constant := 1; -- PIX for swapper process SCH_V_SIP : constant := 0; -- SWAP IN PROGRESS FLAG SCH_M_SIP : constant := 1; -- SWAP IN PROGRESS MASK SCH_V_TCD : constant := 1; -- MPL threshold checking disabled SCH_M_TCD : constant := 2; -- MPL threshold checking disabled mask SCH_V_MPW : constant := 2; -- Modify page writer active SCH_M_MPW : constant := 4; -- Modify page writer active mask SCH_V_REORD : constant := 0; -- OSWPSCHED queue reordering occured SCH_C_ASN_MIN : constant := 0; -- Minimum RID for process space SCH_M_DEFERRED_AST_OFF : constant := 16#00000001#; SCH_M_QUEUE_OPT_OFF : constant := 16#00000002#; SCH_M_SPL_HTHREAD_OPT_OFF : constant := 16#00000004#; SCH_M_PC_SAMPLING_OFF : constant := 16#00000008#; SCH_M_PROCESS_IDLE_CW_LOCKS : constant := 16#00000010#; SCH_M_MTX_HERD_OPT_OFF : constant := 16#00000020#; SCH_M_SPL_PC_SAMPLING_ON : constant := 16#00000040#; SCH_M_SPL_PC_CPUID_ON : constant := 16#00000080#; type SCHED_FLAG_BITS_TYPE is record DEFERRED_AST_OFF : BOOLEAN; -- Turn off AST Deferal optimizaton (V84R on) QUEUE_OPT_OFF : BOOLEAN; -- Turn off AST queue optimization (V84R on) SPL_HTHREAD_OPT_OFF : BOOLEAN; -- Turn off SPL Hyper Thread Optimization (V84R POULSON on) PC_SAMPLING_OFF : BOOLEAN; -- Turn off PC Sampling (V84R POULSON on) PROCESS_IDLE_CW_LOCKS : BOOLEAN; -- Enable XFC timeout on CW mode locks (V7.3-2 - POULSON on) MTX_HERD_OPT_OFF : BOOLEAN; -- Turn off Mutex Herd handling Algorithm (V83R - POULSON on) SPL_PC_SAMPLING_ON : BOOLEAN; -- Used by SPINLOCKS (V84 on) SPL_PC_CPUID_ON : BOOLEAN; -- Used by SPINLOCKS (V84 on, was PERSONA_SECAUDIT in V83R - V83-1H1R) end record; for SCHED_FLAG_BITS_TYPE use record DEFERRED_AST_OFF at 0 range 0 .. 0; QUEUE_OPT_OFF at 0 range 1 .. 1; SPL_HTHREAD_OPT_OFF at 0 range 2 .. 2; PC_SAMPLING_OFF at 0 range 3 .. 3; PROCESS_IDLE_CW_LOCKS at 0 range 4 .. 4; MTX_HERD_OPT_OFF at 0 range 5 .. 5; SPL_PC_SAMPLING_ON at 0 range 6 .. 6; SPL_PC_CPUID_ON at 0 range 7 .. 7; end record; for SCHED_FLAG_BITS_TYPE'SIZE use 8; SCHED_FLAG_BITS_TYPE_INIT : constant SCHED_FLAG_BITS_TYPE := (DEFERRED_AST_OFF => FALSE, QUEUE_OPT_OFF => FALSE, SPL_HTHREAD_OPT_OFF => FALSE, PC_SAMPLING_OFF => FALSE, PROCESS_IDLE_CW_LOCKS => FALSE, MTX_HERD_OPT_OFF => FALSE, SPL_PC_SAMPLING_ON => FALSE, SPL_PC_CPUID_ON => FALSE); type SCHED_FLAGS_OVERLAY_TYPE is record SCHED_FLAGS : UNSIGNED_LONGWORD; -- SCHED Control Flags ----Component(s) below are defined as comments since they ----overlap other fields ---- ----SCHED_FLAG_BITS : SCHED_FLAG_BITS_TYPE; end record; for SCHED_FLAGS_OVERLAY_TYPE use record SCHED_FLAGS at 0 range 0 .. 31; ----Component representation spec(s) below are defined as ----comments since they overlap other fields ---- ----SCHED_FLAG_BITS at 0 range 0 .. 7; end record; for SCHED_FLAGS_OVERLAY_TYPE'SIZE use 32; SCHED_FLAGS_OVERLAY_TYPE_INIT : constant SCHED_FLAGS_OVERLAY_TYPE := (SCHED_FLAGS => 0); type SCHED_FLAGS_TYPE is record SCHED_FLAGS_OVERLAY : SCHED_FLAGS_OVERLAY_TYPE; end record; for SCHED_FLAGS_TYPE use record SCHED_FLAGS_OVERLAY at 0 range 0 .. 31; end record; for SCHED_FLAGS_TYPE'SIZE use 32; SCHED_FLAGS_TYPE_INIT : constant SCHED_FLAGS_TYPE := ( SCHED_FLAGS_OVERLAY => SCHED_FLAGS_OVERLAY_TYPE_INIT ); end SCHDEF;