! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ! Enumerate Item Codes for the various types of Environmental Sensor FRUs. ! DECLARE LONG CONSTANT ESF$K_TEMP = 4096 DECLARE LONG CONSTANT ESF$K_POWER = 4097 DECLARE LONG CONSTANT ESF$K_FAN = 4098 ! ! The sys$get_env_sensors system service will populate the user's buffer ! with an array of the following structure. The dimension of the array is ! determined by the number of sensors corresponding to the item code by a ! run-time call to sys$get_env_sensors() with a buffer address of zero or ! buffer size of zero. sys$get_env_sensors() will pass the dimensions back ! to the caller so he can allocate buffers to contain the arrays for ! subsequent calls to sys$get_env_sensors() with valid buffer pointers and ! sizes. ! See [SYS]SYS_GET_ENV_SENSORS.C ! DECLARE LONG CONSTANT esf$m_valid_status = x'00000001' DECLARE LONG CONSTANT esf$m_valid_value = x'00000002' DECLARE LONG CONSTANT esf$m_feat_reserved = x'000000FC' DECLARE LONG CONSTANT esf$s_esfitem = 32 record esfitem BYTE esf$b_type ! CFG_NODE config type field BYTE esf$b_subtype ! CFG_NODE config subtype field BYTE esf$B_VALUE ! Value byte BYTE esf$b_status ! Status byte group esf$r_features_overlay variant case BYTE esf$b_features ! Features of the Sensor FRU case group esf$r_features_bits BYTE valid_status_bits ! COMMENT ADDED BY SDL - valid_status_bits contains bits valid_status through & ! feat_reserved end group esf$r_features_bits end variant end group esf$r_features_overlay ! ! Pad out to next quad word ! BYTE esf$b_reserved_1 ( 1 to 3 ) ! ! fru_node_id contains FRU Descriptor Node ID information to help ! identify the location of the associated sensor. See "Alpha Systems ! Configuration Tree Implementation Specification" Table 1-79 on Page 50. ! The byte fields in this 8-byte structure are declared in CFGDEF.H as ! struct cfg$_cfg_node_id_fru_desc in the CFG_NODE structure. ! BASIC$QUADWORD esf$q_fru_node_id ! ! fru_flags contains the Node Flags for the FRU. See "Alpha Configuration ! Tree Specification" Release T6.0-0023 page 7-45. ! See also cfg$iq_node_flags in CFGDEF.H. ! BASIC$QUADWORD esf$q_fru_flags ! ! console_id is a quadword that contains the offset and bitfield elements ! to be used to access the low-level hardware status or value information ! group esf$r_cid_overlay variant case BASIC$QUADWORD esf$q_console_id ! Whole Console ID case group esf$r_cid_fields LONG esf$l_offset ! Offset part of Console ID LONG esf$L_BITFIELD ! Bitfield part of Console ID end group esf$r_cid_fields end variant end group esf$r_cid_overlay end record esfitem ! Copyright (c) 1989, 1990, 1991, 1992, 1993 ! by DIGITAL Equipment Corporation, Maynard, Mass. ! This file contains definitions for the opcode and subfunctions for the ! EVAX architecture. ! Each individual opcode and subfunction is defined ! Additionally for each instruction there is a 32 bit constant defined ! that represents the opcode/subfunc for that instruction. It is ! recomended that you use this 32 bit value if you can. It is more ! likely to remain valid accross version of this file and SRM changes. ! If you find errors in this file, send MAIL to AD::EVAX$OPCODES ! This version of EVAX_OPCODE.SDL matches the EVAX SYSTEM REFERENCE MANUAL ! Version 4.0 dated 2 April 1990. This is Rev V4.7 of this file. ! Last edited on 28 Jan 1993 ! ! Most (all?) of the obsolete instructions have been removed, and new EV6 ! instructions have been added. ! AMB, 7/7/98 ! Changes since last release: ! Changed... ! ! X-5A4 KLN2130 Karen L. Noel 25-Jan-2000 ! Add MTPR and MFPR opcode for VIRBND and SYSPTBR. Alpha ! ECO #121. ! ! X-5A3 AB Aaron Biver 24-Jul-1998 ! Replaced LDD, STG, and reserved opcodes 7 and up. ! They are being referenced elsewhere. ! ! X-5A2 AMB Aaron Biver 07-Jul-1998 ! Added SQRTx, FTOIx, ITOFx, CTxx, ECB, STG, LDG, ! MAXxxx, MINxxx, PKxx, UNPKxx, PERR, MF_FPCR, and WH64. ! Removed D-floating instructions, STD, LDG, several ! expired Reserved-PAL instructions, and a few other ! pre-EV4 instructions. ! ! ! X-5A1 SDD Steve DiPirro 27-Jul-1995 ! Got tired of waiting and added LDBU, LDWU, STB, STW, ! SEXTB, SEXTW, AMASK, and IMPLVER ! ! WMB (and 2 unused MB's) AND EXCB were added ! DRAINT changed to TRAPB ! ! ! This information is company confidential