--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:16 by OpenVMS SDL EV3-3 -- Source: 09-JUN-1993 14:45:59 $1$DGA8085:[LIB_ADA.LIS]ARCDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package ARCDEF is -- module $ARCDEF --+ -- -- Bit definitions for EXE$GL_ARCHFLAG - flags for VAX architecture differences -- --- ARC_M_CHAR_EMUL : constant := 16#00000010#; ARC_M_DCML_EMUL : constant := 16#00000020#; ARC_M_EDPC_EMUL : constant := 16#00000040#; ARC_M_CRC_EMUL : constant := 16#00000080#; ARC_M_DFLT_EMUL : constant := 16#00000100#; ARC_M_FFLT_EMUL : constant := 16#00000200#; ARC_M_GFLT_EMUL : constant := 16#00000400#; ARC_M_HFLT_EMUL : constant := 16#00000800#; ARC_M_EMOD_EMUL : constant := 16#00001000#; ARC_M_POLY_EMUL : constant := 16#00002000#; ARC_M_VIRT_SCB : constant := 16#00004000#; ARC_M_VIRT_SPT : constant := 16#00008000#; ARC_M_VIRT_PCB : constant := 16#00010000#; ARC_M_LOAD_SMP : constant := 16#00020000#; ARC_S_ARCDEF : constant := 4; type ARCDEF_BITS_TYPE is record FILLER_1 : UNSIGNED_4; -- CHAR_EMUL : BOOLEAN; -- Char Str Ins Emul DCML_EMUL : BOOLEAN; -- Decimal String Emul EDPC_EMUL : BOOLEAN; -- EDITPC Instr Emul CRC_EMUL : BOOLEAN; -- CRC Instr Emul DFLT_EMUL : BOOLEAN; -- D-flt Data Type Emul FFLT_EMUL : BOOLEAN; -- F-flt Data Type Emul GFLT_EMUL : BOOLEAN; -- G-flt Data Type Emul HFLT_EMUL : BOOLEAN; -- H-flt Data Type Emul EMOD_EMUL : BOOLEAN; -- EMOD Instr Emul POLY_EMUL : BOOLEAN; -- POLY Instr Emul VIRT_SCB : BOOLEAN; -- SCB located in virtual memory VIRT_SPT : BOOLEAN; -- SPT located in virtual memory VIRT_PCB : BOOLEAN; -- HWPCB located in virtual memory LOAD_SMP : BOOLEAN; -- Load SMP uncoditionally FILLER_2 : UNSIGNED_14; -- end record; for ARCDEF_BITS_TYPE use record FILLER_1 at 0 range 0 .. 3; CHAR_EMUL at 0 range 4 .. 4; DCML_EMUL at 0 range 5 .. 5; EDPC_EMUL at 0 range 6 .. 6; CRC_EMUL at 0 range 7 .. 7; DFLT_EMUL at 1 range 0 .. 0; FFLT_EMUL at 1 range 1 .. 1; GFLT_EMUL at 1 range 2 .. 2; HFLT_EMUL at 1 range 3 .. 3; EMOD_EMUL at 1 range 4 .. 4; POLY_EMUL at 1 range 5 .. 5; VIRT_SCB at 1 range 6 .. 6; VIRT_SPT at 1 range 7 .. 7; VIRT_PCB at 2 range 0 .. 0; LOAD_SMP at 2 range 1 .. 1; FILLER_2 at 2 range 2 .. 15; end record; for ARCDEF_BITS_TYPE'SIZE use 32; ARCDEF_BITS_TYPE_INIT : constant ARCDEF_BITS_TYPE := (FILLER_1 => 0, CHAR_EMUL => FALSE, DCML_EMUL => FALSE, EDPC_EMUL => FALSE, CRC_EMUL => FALSE, DFLT_EMUL => FALSE, FFLT_EMUL => FALSE, GFLT_EMUL => FALSE, HFLT_EMUL => FALSE, EMOD_EMUL => FALSE, POLY_EMUL => FALSE, VIRT_SCB => FALSE, VIRT_SPT => FALSE, VIRT_PCB => FALSE, LOAD_SMP => FALSE, FILLER_2 => 0); type ARC_TYPE is record ARCDEF_BITS : ARCDEF_BITS_TYPE; end record; for ARC_TYPE use record ARCDEF_BITS at 0 range 0 .. 31; end record; for ARC_TYPE'SIZE use 32; ARC_TYPE_INIT : constant ARC_TYPE := ( ARCDEF_BITS => ARCDEF_BITS_TYPE_INIT); end ARCDEF;