--******************************************************************************************************************** -- Created: 9-Nov-2023 12:07:44 by OpenVMS SDL V3.7 -- Source: 04-FEB-2019 16:17:34 $1$DGA8345:[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 -- Verified for x86 port - Clair Grant 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#; SCH_M_FRKSPL : constant := 16#00000100#; type SCHED_FLAGS_TYPE is -- SCHED Control Flags 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) FRKSPL : BOOLEAN; -- Used by FORKCNTRL (V83R, V84R, then TEWKSBURY on) FILLER_1 : UNSIGNED_23; end record; for SCHED_FLAGS_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; FRKSPL at 1 range 0 .. 0; FILLER_1 at 1 range 1 .. 23; end record; for SCHED_FLAGS_TYPE'SIZE use 32; SCHED_FLAGS_TYPE_INIT : constant SCHED_FLAGS_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, FRKSPL => FALSE, FILLER_1 => 0); type SCHED_FLAGS_TYPE is record SCHED_FLAGS : SCHED_FLAGS_TYPE; -- SCHED Control Flags end record; for SCHED_FLAGS_TYPE use record SCHED_FLAGS at 0 range 0 .. 31; end record; for SCHED_FLAGS_TYPE'SIZE use 32; SCHED_FLAGS_TYPE_INIT : constant SCHED_FLAGS_TYPE := ( SCHED_FLAGS => SCHED_FLAGS_TYPE_INIT ); end SCHDEF;