--******************************************************************************************************************** -- Created: 9-Mar-2021 22:28:36 by OpenVMS SDL EV3-3 -- Source: 15-FEB-2007 15:06:31 $1$DGA8085:[LIB_ADA.LIS]SWRPBDEF.SDL;1 --******************************************************************************************************************** with SYSTEM; use SYSTEM; with STARLET; use STARLET; with CONDITION_HANDLING; use CONDITION_HANDLING; package SWRPBDEF is -- module $SWRPBDEF SWRPB_BOOT_FLAGS_M_CONV : constant := 16#00000001#; SWRPB_BOOT_FLAGS_M_DEBUG : constant := 16#00000002#; SWRPB_BOOT_FLAGS_M_INIBPT : constant := 16#00000004#; SWRPB_BOOT_FLAGS_M_DIAG : constant := 16#00000008#; SWRPB_BOOT_FLAGS_M_BOOBPT : constant := 16#00000010#; SWRPB_BOOT_FLAGS_M_NOHEADER : constant := 16#00000020#; SWRPB_BOOT_FLAGS_M_NOTEST : constant := 16#00000040#; SWRPB_BOOT_FLAGS_M_SOLICIT : constant := 16#00000080#; SWRPB_BOOT_FLAGS_M_HALT : constant := 16#00000100#; SWRPB_BOOT_FLAGS_M_SHADOW : constant := 16#00000200#; SWRPB_BOOT_FLAGS_M_ISL : constant := 16#00000400#; SWRPB_BOOT_FLAGS_M_PALCHECK : constant := 16#00000800#; SWRPB_BOOT_FLAGS_M_DEBUG_BOOT : constant := 16#00001000#; SWRPB_BOOT_FLAGS_M_CRDFAIL : constant := 16#00002000#; SWRPB_BOOT_FLAGS_M_ALIGN_FAULTS : constant := 16#00004000#; SWRPB_BOOT_FLAGS_M_REM_DEBUG : constant := 16#00008000#; SWRPB_BOOT_FLAGS_M_DBG_INIT : constant := 16#00010000#; SWRPB_BOOT_FLAGS_M_USER_MSGS : constant := 16#00020000#; SWRPB_BOOT_FLAGS_M_RSM : constant := 16#00040000#; SWRPB_BOOT_FLAGS_M_FOREIGN : constant := 16#00080000#; SWRPB_BOOT_FLAGS_M_QIOSERVER : constant := 16#00100000#; SWRPB_BOOT_FLAGS_M_MEMORY_DISK : constant := 16#00200000#; SWRPB_BOOT_FLAGS_M_HW_CONFIG : constant := 16#00400000#; SWRPB_BOOT_FLAGS_M_SIM_HINT : constant := 16#00800000#; SWRPB_BOOT_FLAGS_M_GRAPHIC_CONS : constant := 16#01000000#; SWRPB_BOOT_FLAGS_M_ROOT : constant := 16#FFFF0000#; SWRPB_M_LOAD_SCS : constant := 16#00000001#; SWRPB_M_TAKENODMP : constant := 16#00000002#; SWRPB_M_DUMP_DEV_OK : constant := 16#00000004#; SWRPB_M_MCHECK : constant := 16#00000008#; SWRPB_M_MEMTEST : constant := 16#00000010#; SWRPB_M_SATELLITE_BOOT : constant := 16#00000020#; SWRPB_LAVC_FLAGS_M_CONV_BOOT_OK : constant := 16#00000001#; SWRPB_C_LENGTH : constant := 180; -- Length of SWRPB SWRPB_K_LENGTH : constant := 180; -- Length of SWRPB SWRPB_S_SWRPBDEF : constant := 180; -- Old size name - synonym type SWRPB_IOVEC_FLINK_TYPE is -- IOVEC forward link record IOVEC_FLINK_L : ADDRESS; IOVEC_FLINK_H : UNSIGNED_LONGWORD; end record; for SWRPB_IOVEC_FLINK_TYPE use record IOVEC_FLINK_L at 0 range 0 .. 31; IOVEC_FLINK_H at 4 range 0 .. 31; end record; for SWRPB_IOVEC_FLINK_TYPE'SIZE use 64; SWRPB_IOVEC_FLINK_TYPE_INIT : constant SWRPB_IOVEC_FLINK_TYPE := (IOVEC_FLINK_L => ADDRESS_ZERO, IOVEC_FLINK_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_IOVEC_BLINK_TYPE is -- IOVEC backward link record IOVEC_BLINK_L : ADDRESS; IOVEC_BLINK_H : UNSIGNED_LONGWORD; end record; for SWRPB_IOVEC_BLINK_TYPE use record IOVEC_BLINK_L at 0 range 0 .. 31; IOVEC_BLINK_H at 4 range 0 .. 31; end record; for SWRPB_IOVEC_BLINK_TYPE'SIZE use 64; SWRPB_IOVEC_BLINK_TYPE_INIT : constant SWRPB_IOVEC_BLINK_TYPE := (IOVEC_BLINK_L => ADDRESS_ZERO, IOVEC_BLINK_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_BOOT_FLAGS_L_TYPE is record CONV : BOOLEAN; -- Conversational bootstrap DEBUG : BOOLEAN; -- Map XDELTA to running system INIBPT : BOOLEAN; -- Stop at initial system BPT DIAG : BOOLEAN; -- Diagnostic bootstrap BOOBPT : BOOLEAN; -- Stop at bootstrap breakpoints NOHEADER : BOOLEAN; -- No header on 2nd bootstrap NOTEST : BOOLEAN; -- Inhibit memory test SOLICIT : BOOLEAN; -- Prompt for 2nd bootstrap file HALT : BOOLEAN; -- Halt before 2nd bootstrap SHADOW : BOOLEAN; -- Boot from shaddow set ISL : BOOLEAN; -- LAD/LAST bootstrap PALCHECK : BOOLEAN; -- Disable PAL rev check halt DEBUG_BOOT : BOOLEAN; -- Xfer to 2nd primary bootstrap CRDFAIL : BOOLEAN; -- Mark CRD pages bad ALIGN_FAULTS : BOOLEAN; -- Report bootstrap unaligned data traps REM_DEBUG : BOOLEAN; -- Allow remote high level lang sys debug DBG_INIT : BOOLEAN; -- Toggle verbose mode in EXEC_INIT USER_MSGS : BOOLEAN; -- user messages displayed (subset of verbose mode) RSM : BOOLEAN; -- Boot is controlled by Remote System Manager FOREIGN : BOOLEAN; -- Boot involves a foreign disk, either as system -- device or as installation target QIOSERVER : BOOLEAN; -- Boot device is QIOServer controlled MEMORY_DISK : BOOLEAN; -- Boot from memory disk HW_CONFIG : BOOLEAN; -- Dump and trace hw config during booting SIM_HINT : BOOLEAN; -- Enable simulator shortcuts GRAPHIC_CONS : BOOLEAN; -- Force Graphic console on IA64 systems with no PCDP support -- -- symbol names with the swrpb_boot_flags$m or swrpb_boot_flags$v prefix -- cannot exceed 31 characters total. -- FILLER_1 : UNSIGNED_7; end record; for SWRPB_BOOT_FLAGS_L_TYPE use record CONV at 0 range 0 .. 0; DEBUG at 0 range 1 .. 1; INIBPT at 0 range 2 .. 2; DIAG at 0 range 3 .. 3; BOOBPT at 0 range 4 .. 4; NOHEADER at 0 range 5 .. 5; NOTEST at 0 range 6 .. 6; SOLICIT at 0 range 7 .. 7; HALT at 1 range 0 .. 0; SHADOW at 1 range 1 .. 1; ISL at 1 range 2 .. 2; PALCHECK at 1 range 3 .. 3; DEBUG_BOOT at 1 range 4 .. 4; CRDFAIL at 1 range 5 .. 5; ALIGN_FAULTS at 1 range 6 .. 6; REM_DEBUG at 1 range 7 .. 7; DBG_INIT at 2 range 0 .. 0; USER_MSGS at 2 range 1 .. 1; RSM at 2 range 2 .. 2; FOREIGN at 2 range 3 .. 3; QIOSERVER at 2 range 4 .. 4; MEMORY_DISK at 2 range 5 .. 5; HW_CONFIG at 2 range 6 .. 6; SIM_HINT at 2 range 7 .. 7; GRAPHIC_CONS at 3 range 0 .. 0; FILLER_1 at 3 range 1 .. 7; end record; for SWRPB_BOOT_FLAGS_L_TYPE'SIZE use 32; SWRPB_BOOT_FLAGS_L_TYPE_INIT : constant SWRPB_BOOT_FLAGS_L_TYPE := (CONV => FALSE, DEBUG => FALSE, INIBPT => FALSE, DIAG => FALSE, BOOBPT => FALSE, NOHEADER => FALSE, NOTEST => FALSE, SOLICIT => FALSE, HALT => FALSE, SHADOW => FALSE, ISL => FALSE, PALCHECK => FALSE, DEBUG_BOOT => FALSE, CRDFAIL => FALSE, ALIGN_FAULTS => FALSE, REM_DEBUG => FALSE, DBG_INIT => FALSE, USER_MSGS => FALSE, RSM => FALSE, FOREIGN => FALSE, QIOSERVER => FALSE, MEMORY_DISK => FALSE, HW_CONFIG => FALSE, SIM_HINT => FALSE, GRAPHIC_CONS => FALSE, FILLER_1 => 0); type SWRPB_BOOT_FLAGS_H_TYPE is record FILLER_1 : BIT_ARRAY (0 .. 0); ROOT : UNSIGNED_16; -- System root end record; for SWRPB_BOOT_FLAGS_H_TYPE use record FILLER_1 at 0 range 0 .. 0; ROOT at 2 range 0 .. 15; end record; for SWRPB_BOOT_FLAGS_H_TYPE'SIZE use 32; SWRPB_BOOT_FLAGS_H_TYPE_INIT : constant SWRPB_BOOT_FLAGS_H_TYPE := (FILLER_1 => (others => FALSE), ROOT => 0); type SWRPB_BOOT_FLAGS_TYPE is -- System variation record BOOT_FLAGS_L : SWRPB_BOOT_FLAGS_L_TYPE; BOOT_FLAGS_H : SWRPB_BOOT_FLAGS_H_TYPE; end record; for SWRPB_BOOT_FLAGS_TYPE use record BOOT_FLAGS_L at 0 range 0 .. 31; BOOT_FLAGS_H at 4 range 0 .. 31; end record; for SWRPB_BOOT_FLAGS_TYPE'SIZE use 64; SWRPB_BOOT_FLAGS_TYPE_INIT : constant SWRPB_BOOT_FLAGS_TYPE := ( BOOT_FLAGS_L => SWRPB_BOOT_FLAGS_L_TYPE_INIT, BOOT_FLAGS_H => SWRPB_BOOT_FLAGS_H_TYPE_INIT ); type SWRPB_BTADP_TYPE is -- BOOT ADAPTER BLOCK record BTADP_L : ADDRESS; BTADP_H : UNSIGNED_LONGWORD; end record; for SWRPB_BTADP_TYPE use record BTADP_L at 0 range 0 .. 31; BTADP_H at 4 range 0 .. 31; end record; for SWRPB_BTADP_TYPE'SIZE use 64; SWRPB_BTADP_TYPE_INIT : constant SWRPB_BTADP_TYPE := (BTADP_L => ADDRESS_ZERO, BTADP_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_BOOPARAM_TYPE is -- EXEC_INIT Param block record BOOPARAM_L : ADDRESS; BOOPARAM_H : UNSIGNED_LONGWORD; end record; for SWRPB_BOOPARAM_TYPE use record BOOPARAM_L at 0 range 0 .. 31; BOOPARAM_H at 4 range 0 .. 31; end record; for SWRPB_BOOPARAM_TYPE'SIZE use 64; SWRPB_BOOPARAM_TYPE_INIT : constant SWRPB_BOOPARAM_TYPE := (BOOPARAM_L => ADDRESS_ZERO, BOOPARAM_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_IOCHAN_TYPE is -- IOCHAN of boot driver record IOCHAN_L : ADDRESS; IOCHAN_H : UNSIGNED_LONGWORD; end record; for SWRPB_IOCHAN_TYPE use record IOCHAN_L at 0 range 0 .. 31; IOCHAN_H at 4 range 0 .. 31; end record; for SWRPB_IOCHAN_TYPE'SIZE use 64; SWRPB_IOCHAN_TYPE_INIT : constant SWRPB_IOCHAN_TYPE := (IOCHAN_L => ADDRESS_ZERO, IOCHAN_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_BOOT_TIME_TYPE is -- Time that system was booted record BOOT_TIME_L : UNSIGNED_LONGWORD; BOOT_TIME_H : UNSIGNED_LONGWORD; end record; for SWRPB_BOOT_TIME_TYPE use record BOOT_TIME_L at 0 range 0 .. 31; BOOT_TIME_H at 4 range 0 .. 31; end record; for SWRPB_BOOT_TIME_TYPE'SIZE use 64; SWRPB_BOOT_TIME_TYPE_INIT : constant SWRPB_BOOT_TIME_TYPE := (BOOT_TIME_L => UNSIGNED_LONGWORD_ZERO, BOOT_TIME_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_FLAGS_L_TYPE is record LOAD_SCS : BOOLEAN; -- Load SCS code TAKENODMP : BOOLEAN; -- Do not take dump, master -- changed for shadowed system -- disk. Note: On VAX, -- TAKENODMP was added to RPB -- to pass to console reboot -- logic. DUMP_DEV_OK : BOOLEAN; -- Take the dump device is -- under dump_dev E.V. control MCHECK : BOOLEAN; -- Set when a hard memory error occurs. MEMTEST : BOOLEAN; -- Set when memory testing is in progress SATELLITE_BOOT : BOOLEAN; -- This is an IA64 satellite boot -- currently not set on Alpha FILLER_1 : BIT_ARRAY (0 .. 0); end record; for SWRPB_FLAGS_L_TYPE use record LOAD_SCS at 0 range 0 .. 0; TAKENODMP at 0 range 1 .. 1; DUMP_DEV_OK at 0 range 2 .. 2; MCHECK at 0 range 3 .. 3; MEMTEST at 0 range 4 .. 4; SATELLITE_BOOT at 0 range 5 .. 5; FILLER_1 at 0 range 6 .. 6; end record; for SWRPB_FLAGS_L_TYPE'SIZE use 32; SWRPB_FLAGS_L_TYPE_INIT : constant SWRPB_FLAGS_L_TYPE := (LOAD_SCS => FALSE, TAKENODMP => FALSE, DUMP_DEV_OK => FALSE, MCHECK => FALSE, MEMTEST => FALSE, SATELLITE_BOOT => FALSE, FILLER_1 => (others => FALSE)); type SWRPB_FLAGS_TYPE is -- Other bootstrap flags record FLAGS_L : SWRPB_FLAGS_L_TYPE; FLAGS_H : UNSIGNED_LONGWORD; end record; for SWRPB_FLAGS_TYPE use record FLAGS_L at 0 range 0 .. 31; FLAGS_H at 4 range 0 .. 31; end record; for SWRPB_FLAGS_TYPE'SIZE use 64; SWRPB_FLAGS_TYPE_INIT : constant SWRPB_FLAGS_TYPE := ( FLAGS_L => SWRPB_FLAGS_L_TYPE_INIT, FLAGS_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_PORT_CHAN_TYPE is -- PORT_CHAN of port boot driver record PORT_CHAN_L : ADDRESS; PORT_CHAN_H : UNSIGNED_LONGWORD; end record; for SWRPB_PORT_CHAN_TYPE use record PORT_CHAN_L at 0 range 0 .. 31; PORT_CHAN_H at 4 range 0 .. 31; end record; for SWRPB_PORT_CHAN_TYPE'SIZE use 64; SWRPB_PORT_CHAN_TYPE_INIT : constant SWRPB_PORT_CHAN_TYPE := (PORT_CHAN_L => ADDRESS_ZERO, PORT_CHAN_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_SCB_SIZE_TYPE is -- Size of the runtime SCB record SCB_SIZE_L : UNSIGNED_LONGWORD; SCB_SIZE_H : UNSIGNED_LONGWORD; end record; for SWRPB_SCB_SIZE_TYPE use record SCB_SIZE_L at 0 range 0 .. 31; SCB_SIZE_H at 4 range 0 .. 31; end record; for SWRPB_SCB_SIZE_TYPE'SIZE use 64; SWRPB_SCB_SIZE_TYPE_INIT : constant SWRPB_SCB_SIZE_TYPE := (SCB_SIZE_L => UNSIGNED_LONGWORD_ZERO, SCB_SIZE_H => UNSIGNED_LONGWORD_ZERO); type SWRPB_LAVC_FLAGS_TYPE is -- LAVc boot control flags. record CONV_BOOT_OK : BOOLEAN; -- Allow converstational boot. FILLER_1 : UNSIGNED_31; end record; for SWRPB_LAVC_FLAGS_TYPE use record CONV_BOOT_OK at 0 range 0 .. 0; FILLER_1 at 0 range 1 .. 31; end record; for SWRPB_LAVC_FLAGS_TYPE'SIZE use 32; SWRPB_LAVC_FLAGS_TYPE_INIT : constant SWRPB_LAVC_FLAGS_TYPE := (CONV_BOOT_OK => FALSE, FILLER_1 => 0); type SWRPB_TYPE is record IOVEC_FLINK : SWRPB_IOVEC_FLINK_TYPE; -- IOVEC forward link IOVEC_BLINK : SWRPB_IOVEC_BLINK_TYPE; -- IOVEC backward link BOOT_FLAGS : SWRPB_BOOT_FLAGS_TYPE; -- System variation BTADP : SWRPB_BTADP_TYPE; -- BOOT ADAPTER BLOCK BOOPARAM : SWRPB_BOOPARAM_TYPE; -- EXEC_INIT Param block IOCHAN : SWRPB_IOCHAN_TYPE; -- IOCHAN of boot driver BOOT_TIME : SWRPB_BOOT_TIME_TYPE; -- Time that system was booted FLAGS : SWRPB_FLAGS_TYPE; -- Other bootstrap flags PORT_CHAN : SWRPB_PORT_CHAN_TYPE; -- PORT_CHAN of port boot driver SCB_SIZE : SWRPB_SCB_SIZE_TYPE; -- Size of the runtime SCB -- The following fields are filled in by APB if a NISCA -- boot is being performed on a LAVc satellite. These -- fields are cluster specific fields. SCSNODE : STRING(1 .. 8); -- System's SCS node name. SCSSYSTEMID : UNSIGNED_QUADWORD; -- System's SCSSYSTEMID value. -- The following fields are filled in by APB if a NISCA -- boot is being performed on a LAVc satellite. LAVC_AUTH : UNSIGNED_QUADWORD; -- LAVc authorization code. LAVC_GROUP : UNSIGNED_LONGWORD; -- LAVc group number. LAVC_PORT_SERVICES : UNSIGNED_LONGWORD; -- NISCA port services. LAVC_FLAGS : SWRPB_LAVC_FLAGS_TYPE; -- LAVc boot control flags. FILLER_1 : UNSIGNED_LONGWORD; -- Preserve quadword alignment. -- End of fields used for LAVc satellite booting. -- Define the file system data. SYSROOT : STRING(1 .. 40); -- Root directory on the system disk. Counted string -- End of the file system data. SVA_TO_PA : ADDRESS; -- Vector to routine converting SVA to PA GH_PS : UNSIGNED_LONGWORD_ARRAY (1 .. 4); -- GH to page size vector end record; for SWRPB_TYPE use record IOVEC_FLINK at 0 range 0 .. 63; IOVEC_BLINK at 8 range 0 .. 63; BOOT_FLAGS at 16 range 0 .. 63; BTADP at 24 range 0 .. 63; BOOPARAM at 32 range 0 .. 63; IOCHAN at 40 range 0 .. 63; BOOT_TIME at 48 range 0 .. 63; FLAGS at 56 range 0 .. 63; PORT_CHAN at 64 range 0 .. 63; SCB_SIZE at 72 range 0 .. 63; SCSNODE at 80 range 0 .. 63; SCSSYSTEMID at 88 range 0 .. 63; LAVC_AUTH at 96 range 0 .. 63; LAVC_GROUP at 104 range 0 .. 31; LAVC_PORT_SERVICES at 108 range 0 .. 31; LAVC_FLAGS at 112 range 0 .. 31; FILLER_1 at 116 range 0 .. 31; SYSROOT at 120 range 0 .. 319; SVA_TO_PA at 160 range 0 .. 31; GH_PS at 164 range 0 .. 127; end record; for SWRPB_TYPE'SIZE use 1440; SWRPB_TYPE_INIT : constant SWRPB_TYPE := ( IOVEC_FLINK => SWRPB_IOVEC_FLINK_TYPE_INIT, IOVEC_BLINK => SWRPB_IOVEC_BLINK_TYPE_INIT, BOOT_FLAGS => SWRPB_BOOT_FLAGS_TYPE_INIT, BTADP => SWRPB_BTADP_TYPE_INIT, BOOPARAM => SWRPB_BOOPARAM_TYPE_INIT, IOCHAN => SWRPB_IOCHAN_TYPE_INIT, BOOT_TIME => SWRPB_BOOT_TIME_TYPE_INIT, FLAGS => SWRPB_FLAGS_TYPE_INIT, PORT_CHAN => SWRPB_PORT_CHAN_TYPE_INIT, SCB_SIZE => SWRPB_SCB_SIZE_TYPE_INIT, SCSNODE => (others => ASCII.NUL), SCSSYSTEMID => UNSIGNED_QUADWORD_ZERO, LAVC_AUTH => UNSIGNED_QUADWORD_ZERO, LAVC_GROUP => UNSIGNED_LONGWORD_ZERO, LAVC_PORT_SERVICES => UNSIGNED_LONGWORD_ZERO, LAVC_FLAGS => SWRPB_LAVC_FLAGS_TYPE_INIT, FILLER_1 => 0, SYSROOT => (others => ASCII.NUL), SVA_TO_PA => ADDRESS_ZERO, GH_PS => (others => 0)); end SWRPBDEF;