COMPILATION LISTING OF SEGMENT init_clocks Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1020.7 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 /* INIT_CLOCKS -- read time string from operator, set all clocks */ 9 /* format: style2 */ 10 /* BIM 10/82 */ 11 /* Modified 2/83 by Keith Loepere to use bce_command_processor_ and 12* environment */ 13 /* Modified 6/83 by Keith Loepere so operator doesn't have to enter time. */ 14 /* Modified 4/84 by Keith Loepere for simplification */ 15 /* Modified 7/84 by J Falksen for new date/time software */ 16 /* Modified 1/85 by Keith Loepere to check RPV time unmounted. */ 17 /* Modified 1/85 by Keith Loepere to not set date/time defaults and to use 18* time_info_ to automatically set delta given a zone. */ 19 20 21 22 /****^ HISTORY COMMENTS: 23* 1) change(86-12-04,Fawcett), approve(86-12-17,MECR0006), 24* audit(86-12-12,GDixon), install(86-12-17,MR12.0-1250): 25* Changed to call date_time_$set_time_defaults. If the operator inputs 26* a new time string with a time zone the correct time will set. 27* 2) change(87-01-08,Fawcett), approve(87-01-08,MCR7600), 28* audit(87-01-13,GJohnson), install(87-01-13,MR12.0-1270): 29* This closes MECR0006. 30* END HISTORY COMMENTS */ 31 32 33 init_clocks: 34 procedure (success); 35 36 /* Parameters */ 37 38 declare success bit (1) aligned parameter; 39 40 /* Constants */ 41 42 declare me char (11) init ("init_clocks") static options (constant); 43 declare time_format char (41) int static options (constant) 44 init ("^dn, ^mn ^Z9dm, ^9999yc ^Z9Hd:^MH:^SM ^za"); 45 46 /* Entries */ 47 48 declare bce_query entry options (variable); 49 declare bce_query$yes_no entry options (variable); 50 declare com_err_ entry options (variable); 51 declare convert_date_to_binary_ 52 entry (char (*), fixed bin (71), fixed bin (35)); 53 declare date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) returns (char (250) var); 54 declare date_time_$set_time_defaults 55 entry (); 56 declare ioa_ entry () options (variable); 57 declare privileged_mode_ut$sscr 58 entry (fixed bin (3), fixed bin (6), fixed bin (71)); 59 declare read_disk entry (fixed bin, fixed bin, ptr, fixed bin (35)); 60 61 /* Variables */ 62 63 declare TIME fixed bin (71); 64 declare bootload_scu fixed bin (3); 65 declare code fixed bin (35); 66 declare line char (80); 67 declare time_correction fixed bin (71); 68 declare time_string char (64) var; 69 declare zone char (4); 70 71 /* External */ 72 73 declare disk_config_deck$ external static; 74 declare pvt$root_pvtx fixed bin external static; 75 declare sys_info$clock_ bit (3) aligned external static; 76 declare sys_info$first_reasonable_time 77 fixed bin (71) external static; 78 declare sys_info$last_reasonable_time 79 fixed bin (71) external static; 80 declare sys_info$time_correction_constant 81 fixed bin (71) aligned external static; 82 declare sys_info$time_zone char (4) aligned external static; 83 84 /* Misc */ 85 86 declare (addr, addrel, bin, clock, divide, fixed, hbound, lbound, rtrim, size, substr, unspec) 87 builtin; 88 89 success = "0"b; 90 91 call find_zone; /* zone defined by current clock "card" */ 92 93 bootload_scu = fixed (sys_info$clock_, 3); 94 95 TIME = clock (); 96 call check_time; 97 line = "xxx"; 98 do while (^(line = "n" | line = "no")); 99 call bce_query (line, "Is this correct? "); 100 if line = "y" | line = "yes" 101 then do; 102 call set_defaults; /* if things were correct set the date_time defaults */ 103 call check_rpv; 104 success = "1"b; 105 return; 106 end; 107 else if line = "abort" 108 then return; 109 end; 110 111 CHECK_TIME: 112 call bce_query (line, "Enter time: "); 113 if line = "abort" 114 then do; 115 ABORT: 116 success = "0"b; 117 return; 118 end; 119 120 call set_defaults; 121 122 call convert_date_to_binary_ (line, TIME, code); 123 124 if code ^= 0 125 then do; /* Operator's time string invalid? */ 126 call com_err_ (code, me, "^a", rtrim (line)); 127 go to CHECK_TIME; 128 end; 129 130 if scs$controller_data (bootload_scu).type < "0010"b 131 then do; /* help out operator */ 132 call ioa_ ("SCU Switches (octal): ^w ^w", substr (unspec (TIME), 1, 36), substr (unspec (TIME), 37)); 133 134 call bce_query (line, "Enter anything after the switches have been set. "); 135 TIME = clock (); 136 end; 137 138 call check_time; 139 line = "xxx"; 140 do while (^(line = "n" | line = "no")); 141 call bce_query (line, "Is this correct? "); 142 if line = "y" | line = "yes" 143 then do; 144 if scs$controller_data (bootload_scu).type < "0010"b 145 then ; 146 else call set_clocks; /* set in all controllers */ 147 call check_rpv; 148 success = "1"b; 149 return; 150 end; 151 else if line = "abort" 152 then return; 153 end; 154 go to CHECK_TIME; 155 156 157 set_defaults: 158 proc; 159 sys_info$time_zone = zone; 160 sys_info$time_correction_constant = time_correction; 161 call date_time_$set_time_defaults (); 162 end set_defaults; 163 164 set_clocks: 165 proc; 166 167 declare controllerx fixed bin (3); 168 169 do controllerx = lbound (scs$controller_data, 1) to hbound (scs$controller_data, 1); 170 if bin (scs$controller_data (controllerx).type, 4) >= 0010b & scs$controller_data (controllerx).online 171 then call privileged_mode_ut$sscr (controllerx, SC_ETC, TIME); 172 end; 173 return; 174 end; 175 176 find_zone: 177 proc; 178 179 /* Find time zone, checking that it is in time_info_. 180* We must do this by looking at disk_config_deck. */ 181 182 declare idx fixed bin; 183 declare lang_index fixed bin; 184 declare zone_index fixed bin; 185 186 cardp = addr (disk_config_deck$); 187 config_max_cards = divide (4096 - 1, size (config_card), 17, 0); 188 /* Assume four page default */ 189 190 do idx = 1 to config_max_cards while (config_card.word ^= FREE_CARD_WORD & config_card.word ^= CLOK_CARD_WORD); 191 cardp = addrel (cardp, size (config_card)); /* on to the next card */ 192 end; 193 194 if idx <= config_max_cards 195 then if config_card.word = CLOK_CARD_WORD 196 then do; 197 clok_cardp = cardp; 198 zone = clok_card.zone; 199 do lang_index = 1 to ti_zone.number_lang; 200 do zone_index = 1 to ti_zone.number_zone; 201 if ti_zone.short (lang_index, zone_index) = clok_card.zone 202 then go to found_zone; 203 end; 204 end; 205 call com_err_ (0, me, "The zone named on the CLOK card is not in time_info_"); 206 goto ABORT; 207 found_zone: 208 time_correction = ti_zone.delta (lang_index, zone_index); 209 end; 210 else go to no_clok; 211 else do; 212 no_clok: 213 call com_err_ (0, me, "No clok card in config deck."); 214 go to ABORT; 215 end; 216 return; 217 end; 218 219 check_time: 220 proc; 221 222 time_string = date_time_$format (time_format, TIME, zone, ""); 223 call ioa_ ("Current system time is: ^a.", time_string); 224 if TIME <= sys_info$first_reasonable_time | TIME >= sys_info$last_reasonable_time 225 then do; 226 call ioa_ ("This is clearly incorrect."); 227 go to CHECK_TIME; 228 end; 229 return; 230 end; 231 232 check_rpv: 233 proc; 234 235 /* Make sure the time is reasonable relative to the RPV time unmounted. */ 236 237 dcl 1 rpv_label aligned like label; 238 dcl yes_no bit (1) aligned; 239 240 labelp = addr (rpv_label); 241 call read_disk (pvt$root_pvtx, LABEL_ADDR, labelp, code); 242 if code ^= 0 243 then do; 244 call com_err_ (code, me, "RPV label"); 245 go to ABORT; 246 end; 247 if label.time_unmounted <= sys_info$first_reasonable_time 248 | label.time_unmounted >= sys_info$last_reasonable_time 249 then return; /* bogus label times */ 250 251 if clock () < label.time_unmounted 252 then do; 253 call bce_query$yes_no (yes_no, 254 "The current time is before the unmounted time recorded in the RPV label. 255 Is this correct? "); 256 if ^yes_no 257 then go to CHECK_TIME; 258 end; 259 260 if clock () > label.time_unmounted + clok_card.boot_delta * 3600 * 1000000 261 then do; 262 call bce_query$yes_no (yes_no, "The current time is more than the supplied boot_delta hours beyond the 263 unmounted time recorded in the RPV label. Is this correct? "); 264 if ^yes_no 265 then go to CHECK_TIME; 266 end; 267 return; /* okay */ 268 end; 269 1 1 /* BEGIN INCLUDE FILE ... config_deck.incl.pl1 ... 11/13/80, W. Olin Sibert */ 1 2 1 3 dcl (configp, cardp) pointer; 1 4 dcl config_n_cards fixed bin; /* Number of cards used in config */ 1 5 dcl config_max_cards fixed bin; /* Max number of cards in config */ 1 6 1 7 dcl config_deck$ fixed bin external static; 1 8 1 9 dcl 1 config_deck aligned based (configp), 1 10 2 cards (config_n_cards) aligned like config_card, 1 11 2 pad_cards (config_max_cards - config_n_cards) aligned like config_card; 1 12 1 13 dcl 1 config_card aligned based (cardp), 1 14 2 word char (4) aligned, 1 15 2 data_field (14) bit (36) aligned, 1 16 2 type_word aligned like config_card_type_word; 1 17 1 18 dcl 1 config_card_type_word aligned based, 1 19 2 field_type (14) bit (2) unaligned, 1 20 2 pad1 bit (4) unaligned, 1 21 2 n_fields fixed bin (4) unsigned unaligned; 1 22 1 23 dcl (CONFIG_DECIMAL_TYPE init ("11"b), 1 24 CONFIG_OCTAL_TYPE init ("00"b), 1 25 CONFIG_SINGLE_CHAR_TYPE init ("01"b), 1 26 CONFIG_STRING_TYPE init ("10"b)) bit (2) aligned static options (constant); 1 27 1 28 dcl ZERO_CARD_WORD char (4) aligned internal static options (constant) init (""); 1 29 dcl FREE_CARD_WORD char (4) aligned internal static options (constant) init ("ÿÿÿÿ"); 1 30 1 31 dcl VALID_CARD_WORD_CHARACTERS char (38) internal static options (constant) init 1 32 ("abcdefghijklmnopqrstuvwxyz0123456789_."); /* lowercase letters, digits, period and underscore */ 1 33 1 34 dcl EMPTY_FIELD bit (36) aligned internal static options (constant) init ("777777777777"b3); 1 35 1 36 /* END INCLUDE FILE config_deck.incl.pl1 */ 270 271 2 1 /* BEGIN INCLUDE FILE ... config_clok_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 2 2 2 3 dcl clok_cardp pointer; /* pointer to CLOK card */ 2 4 2 5 dcl 1 clok_card aligned based (clok_cardp), /* CLOK card declaration */ 2 6 2 word char (4), /* "clok" */ 2 7 2 delta fixed bin, /* Signed offset from GMT */ 2 8 2 zone char (4), /* Name of time zone, such as "hfe" */ 2 9 2 boot_delta fixed bin, /* Number of hours allowed between bootloads */ 2 10 2 11 2 pad (11) bit (36) aligned, /* Pad to 15 fields */ 2 12 2 13 2 type_word aligned, 2 14 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 2 15 3 pad1 bit (4) unaligned, 2 16 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 2 17 2 18 dcl CLOK_CARD_WORD char (4) aligned internal static options (constant) init ("clok"); 2 19 2 20 /* END INCLUDE FILE ... config_clok_card.incl.pl1 */ 272 273 3 1 /* BEGIN INCLUDE FILE...disk_pack.incl.pl1 Last Modified January 1982 for new volume map */ 3 2 3 3 3 4 3 5 3 6 /****^ HISTORY COMMENTS: 3 7* 1) change(86-01-14,Fawcett), approve(86-05-13,MCR7383), 3 8* audit(86-05-14,LJAdams), install(86-07-18,MR12.0-1098): 3 9* Add vars PAGE_SIZE and VTOCE_SIZE, Also change the SECTORS_PER_VTOCE and 3 10* VTOCES_PER_RECORD form fixed bin constants to arrays of fixed bin 3 11* constants indexed by device type as defined in fs_dev_types.incl.pl1. 3 12* This was done for support of the 3380, and 3390 devices for 512_WORD_IO. 3 13* 2) change(86-10-21,Fawcett), approve(86-10-21,MCR7533), 3 14* audit(86-10-21,Farley), install(86-10-22,MR12.0-1193): 3 15* Change PAGE_SIZE and VTOCE_SIZE from automatic to static constants. 3 16* END HISTORY COMMENTS */ 3 17 3 18 3 19 /* 3 20* All disk packs have the standard layout described below: 3 21* 3 22* Record 0 : contains the label, as declared in fs_vol_label.incl.pl1. 3 23* Record 1 to 3 : contains the volume map, as declared in vol_map.incl.pl1 3 24* Record 4 to 5 : contains the dumper bit map, as declared in dumper_bit_map.incl.pl1 3 25* Record 6 : contains the vtoc map, as declared in vtoc_map.incl.pl1 3 26* Record 7 : formerly contained bad track list; no longer used. 3 27* Records 8 to n-1 : contain the array of vtoc entries; ( n is specified in the label) 3 28* each record contains 5 192-word vtoc entries. The last 64 words are unused. 3 29* Records n to N-1 : contain the pages of the Multics segments. ( N is specified in the label) 3 30* 3 31* Sundry partitions may exist within the region n to N-1, withdrawn or not as befits the meaning 3 32* of the particular partition. 3 33* 3 34* 3 35* 3 36* A conceptual declaration for a disk pack could be: 3 37* 3 38* dcl 1 disk_pack, 3 39* 2 label_record (0 : 0) bit(36 * 1024), 3 40* 2 volume_map_record (1 : 3) bit(36 * 1024), 3 41* 2 dumper_bit_map_record (4 : 5) bit(36 * 1024), 3 42* 2 vtoc_map_record (6 : 6) bit(36 * 1024), 3 43* 2 spare_record (7 : 7) bit(36 * 1024), 3 44* 2 vtoc_array_records (8 : n-1), 3 45* 3 vtoc_entry ( 5 ) bit(36 * 192), 3 46* 3 unused bit(36 * 64), 3 47* 2 Multics_pages_records (n : N-1) bit(36 * 1024); 3 48* 3 49* 3 50* 3 51* 3 52**/ 3 53 3 54 dcl (LABEL_ADDR init (0), /* Address of Volume Label */ 3 55 VOLMAP_ADDR init (1), /* Address of first Volume Map record */ 3 56 DUMPER_BIT_MAP_ADDR init (4), /* For initial release compaitiblity */ 3 57 VTOC_MAP_ADDR init (6), /* Address of first VTOC Map Record */ 3 58 VTOC_ORIGIN init (8), /* Address of first record of VTOC */ 3 59 DEFAULT_HCPART_SIZE init (1000), /* Size of Hardcore Partition */ 3 60 MAX_VTOCE_PER_PACK init (31774)) /* Limited by size of VTOC Map */ 3 61 fixed bin (17) int static options (constant); 3 62 3 63 /* SECTORS_PER_VTOCE & VTOCES_PER_RECORD are indexed via device type as */ 3 64 /* defined by fs_dev_types and extracted form the disk_table entry (dte) */ 3 65 /* or the physical volume table entry (pvte) device type. */ 3 66 3 67 dcl PAGE_SIZE fixed bin (17) init (1024) static options (constant); 3 68 dcl VTOCE_SIZE fixed bin (17) init (192) static options (constant); 3 69 3 70 dcl SECTORS_PER_VTOCE (9) fixed bin static options (constant) init 3 71 (0, 3, 3, 3, 3, 3, 3, 1, 1); 3 72 dcl VTOCES_PER_RECORD (9) fixed bin static options (constant) init 3 73 (0, 5, 5, 5, 5, 5, 5, 2, 2); 3 74 dcl SECTORS_PER_RECORD (9) fixed bin static options (constant) init 3 75 (0, 16, 16, 16, 16, 16, 16, 2, 2); 3 76 3 77 /* END INCLUDE FILE...disk_pack.incl.pl1 */ 274 275 4 1 /* BEGIN INCLUDE FILE ... fs_vol_label.incl.pl1 .. last modified January 1982 for new volume map format */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-04-10,Fawcett), approve(86-04-10,MCR7383), 4 5* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 4 6* Add the subvolume info. 4 7* 2) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 4 8* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 4 9* Added inconsistent_dbm bit used to determine consistency of volume 4 10* dumper bit maps. 4 11* END HISTORY COMMENTS */ 4 12 4 13 /* This is the label at fixed location of each physical volume. Length 1 page */ 4 14 /* Note: fsout_vol clears pad fields before writing the label */ 4 15 4 16 dcl labelp ptr; 4 17 4 18 dcl 1 label based (labelp) aligned, 4 19 4 20 /* First comes data not used by Multics.. for compatibility with GCOS */ 4 21 4 22 2 gcos (5*64) fixed bin, 4 23 4 24 /* Now we have the Multics label */ 4 25 4 26 2 Multics char (32) init ("Multics Storage System Volume"), /* Identifier */ 4 27 2 version fixed bin, /* Version 1 */ 4 28 2 mfg_serial char (32), /* Manufacturer's serial number */ 4 29 2 pv_name char (32), /* Physical volume name. */ 4 30 2 lv_name char (32), /* Name of logical volume for pack */ 4 31 2 pvid bit (36), /* Unique ID of this pack */ 4 32 2 lvid bit (36), /* unique ID of its logical vol */ 4 33 2 root_pvid bit (36), /* unique ID of the pack containing the root. everybody must agree. */ 4 34 2 time_registered fixed bin (71), /* time imported to system */ 4 35 2 n_pv_in_lv fixed bin, /* # phys volumes in logical */ 4 36 2 vol_size fixed bin, /* total size of volume, in records */ 4 37 2 vtoc_size fixed bin, /* number of recs in fixed area + vtoc */ 4 38 2 not_used bit (1) unal, /* used to be multiple_class */ 4 39 2 private bit (1) unal, /* TRUE if was registered as private */ 4 40 2 inconsistent_dbm bit (1) unal, /* TRUE if ESD-less crash */ 4 41 2 flagpad bit (33) unal, 4 42 2 max_access_class bit (72), /* Maximum access class for stuff on volume */ 4 43 2 min_access_class bit (72), /* Minimum access class for stuff on volume */ 4 44 2 password bit (72), /* not yet used */ 4 45 2 number_of_sv fixed bin, /* if = 0 not a subvolume else the number of svs */ 4 46 2 this_sv fixed bin, /* what subvolume number it is */ 4 47 2 sub_vol_name char (1), /* what subvolume name (a b c d) it is */ 4 48 2 pad1 (13) fixed bin, 4 49 2 time_mounted fixed bin (71), /* time mounted */ 4 50 2 time_map_updated fixed bin (71), /* time vmap known good */ 4 51 4 52 /* The next two words overlay time_unmounted on pre-MR10 systems. This 4 53* forces a salvage if an MR10 pack is mounted on an earlier system. 4 54* */ 4 55 2 volmap_version fixed bin, /* version of volume map (currently 1) */ 4 56 2 pad6 fixed bin, 4 57 4 58 2 time_salvaged fixed bin (71), /* time salvaged */ 4 59 2 time_of_boot fixed bin (71), /* time of last bootload */ 4 60 2 time_unmounted fixed bin (71), /* time unmounted cleanly */ 4 61 2 last_pvtx fixed bin, /* pvtx in that PDMAP */ 4 62 2 pad1a (2) fixed bin, 4 63 2 err_hist_size fixed bin, /* size of pack error history */ 4 64 2 time_last_dmp (3) fixed bin (71), /* time last completed dump pass started */ 4 65 2 time_last_reloaded fixed bin (71), /* what it says */ 4 66 2 pad2 (40) fixed bin, 4 67 2 root, 4 68 3 here bit (1), /* TRUE if the root is on this pack */ 4 69 3 root_vtocx fixed bin (35), /* VTOC index of root, if it is here */ 4 70 3 shutdown_state fixed bin, /* Status of hierarchy */ 4 71 3 pad7 bit (1) aligned, 4 72 3 disk_table_vtocx fixed bin, /* VTOC index of disk table on RPV */ 4 73 3 disk_table_uid bit (36) aligned, /* UID of disk table */ 4 74 3 esd_state fixed bin, /* State of esd */ 4 75 2 volmap_record fixed bin, /* Begin record of volume map */ 4 76 2 size_of_volmap fixed bin, /* Number of records in volume map */ 4 77 2 vtoc_map_record fixed bin, /* Begin record of VTOC map */ 4 78 2 size_of_vtoc_map fixed bin, /* Number of records in VTOC map */ 4 79 2 volmap_unit_size fixed bin, /* Number of words per volume map section */ 4 80 2 vtoc_origin_record fixed bin, /* Begin record of VTOC */ 4 81 2 dumper_bit_map_record fixed bin, /* Begin record of dumper bit-map */ 4 82 2 vol_trouble_count fixed bin, /* Count of inconsistencies found since salvage */ 4 83 2 pad3 (52) fixed bin, 4 84 2 nparts fixed bin, /* Number of special partitions on pack */ 4 85 2 parts (47), 4 86 3 part char (4), /* Name of partition */ 4 87 3 frec fixed bin, /* First record */ 4 88 3 nrec fixed bin, /* Number of records */ 4 89 3 pad5 fixed bin, 4 90 2 pad4 (5*64) fixed bin; 4 91 4 92 dcl Multics_ID_String char (32) init ("Multics Storage System Volume") static; 4 93 4 94 /* END INCLUDE FILE fs_vol_label.incl.pl1 */ 276 277 5 1 /* Begin include file ...... scr.incl.pl1 5 2* modified 5/75 by Noel I. Morris 5 3* modified 10/81 by M.R. Jordan for 64K chip, M64 memory 5 4* modified '83 to make values constant */ 5 5 5 6 /* This include file is to be used in conjunction with pmut$rscr and pmut$sscr. 5 7* Wherever possible the terms in the processor manual are used in the declaration. */ 5 8 5 9 dcl (SC_MR init (0), /* SC Mode Register */ 5 10 SC_CFG init (1), /* SC Configuration Switches */ 5 11 SC_MSK init (2), /* SC Interrupt Mask */ 5 12 SC_IC init (3), /* SC Interrupt Cells */ 5 13 SC_ETC init (4), /* SC Elapsed Time Clock */ 5 14 SC_SU init (6)) fixed bin (6) static options (constant); /* SU Mode Register */ 5 15 5 16 5 17 dcl scrp ptr; /* pointer to SC data */ 5 18 5 19 dcl 1 scr_cfg1 based (scrp) aligned, /* configuration data for 6000 SC */ 5 20 5 21 (2 mode_a bit (3), /* 000 => on-line 5 22* 001 => test mode 5 23* 010 => off-line */ 5 24 2 bdry_a bit (3), /* 000 => 32K, 001 => 64K, etc */ 5 25 2 mode_b bit (3), /* see mode_a */ 5 26 2 bdry_b bit (3), /* see bdry_a */ 5 27 2 int bit (1), /* 1 => stores are internally interlaced */ 5 28 2 lwr bit (1), /* 1 => store B is low */ 5 29 2 addr_offset bit (2), /* 00 => no offset, 01 => 32K offset, etc. */ 5 30 2 port_no bit (4), /* requester's port number */ 5 31 2 port_enable (0:7) bit (2), /* 00 => port disabled 5 32* 01 => port under program control 5 33* 11 => port enabled */ 5 34 2 pima (4) bit (9)) unaligned; /* program interrupt mask assignments 5 35* 000 => unassigned 5 36* 400 => assigned to port 0 5 37* 200 => assigned to port 1 5 38* . 5 39* . 5 40* . 5 41* 002 => assigned to port 7 5 42* 001 => assigned to maint. panel */ 5 43 5 44 5 45 dcl 1 scr_cfg2 based (scrp) aligned, /* configuration data for 4MW SCU */ 5 46 5 47 (2 mask_a_assign bit (9), /* interrupt mask "A" port assignment 5 48* 400 => assigned to port 0 5 49* . 5 50* . 5 51* 002 => assigned to port 7 5 52* 001 => mask off */ 5 53 2 size bit (3), /* size of lower store */ 5 54 2 a_online bit (1), /* 1 => store A online */ 5 55 2 a1_online bit (1), /* 1 => store A1 online */ 5 56 2 b_online bit (1), /* 1 => store B online */ 5 57 2 b1_online bit (1), /* 1 => store B1 online */ 5 58 2 port_no bit (4), /* requester's port number */ 5 59 2 pad1 bit (1), 5 60 2 mode bit (1), /* 1 => programmable mode */ 5 61 2 nea_enabled bit (1), /* 1 => non-existent address logic enabled */ 5 62 2 nea bit (7), /* 001 => 32K, 002 => 64K, 003 => 96K, etc. */ 5 63 2 int bit (1), /* 1 => stores are internally interlaced */ 5 64 2 lwr bit (1), /* 1 => store B is low */ 5 65 2 port_mask_0_3 bit (4), /* 1 => corresponding port enabled */ 5 66 5 67 2 mask_b_assign bit (9), /* interrupt mask "B" port assignment */ 5 68 2 pad2 bit (12), 5 69 2 cyclic_prior bit (7), /* cyclic port priority switches */ 5 70 2 pad3 bit (4), 5 71 2 port_mask_4_7 bit (4)) unal; /* 1 => corresponding port enabled */ 5 72 5 73 5 74 dcl 1 scr_mr based (scrp) aligned, /* SC mode register */ 5 75 5 76 (2 pad1 bit (50), 5 77 2 identification bit (4), /* 0000 => 8034, 8035 5 78* 0001 => 6000 SC 5 79* 0010 => 4MW SCU */ 5 80 2 TS_strobe_margin bit (2), /* 00 => normal timing 5 81* 01 => slow timing 5 82* 10 => inhibit strobe 5 83* 11 => fast timing */ 5 84 2 G0_strobe_margin bit (2), 5 85 2 ANSWER_strobe_margin bit (2), 5 86 2 DA_strobe_margin bit (2), 5 87 2 EOC_strobe_margin bit (2), 5 88 2 PLUS_5_VOLT_margin bit (2), /* 00 => normal voltage 5 89* 01 => -5% 5 90* 10 => normal voltage 5 91* 11 => +5% */ 5 92 2 parity_override bit (1), /* 1 => SU forced to accept data with incorrect parity */ 5 93 2 parity_disable bit (1), /* 1 => disable data and ZAC parity checking */ 5 94 2 store_IA_disable bit (1), /* 1 => disable illegal action indication */ 5 95 2 ZAC_parity_error bit (1), /* 1 => cause ZAC parity error */ 5 96 2 SGR_accepted bit (1), /* 1 => SGR command accepted by SC */ 5 97 2 pad2 bit (1)) unal; 5 98 5 99 5 100 dcl 1 scr_msk based (scrp) aligned, /* SC mask register */ 5 101 5 102 (2 interrupt_mask_1 bit (16), /* mask bits for interrupts 0 thru 15 */ 5 103 2 pad1 bit (16), 5 104 2 port_mask_1 bit (4), /* mask bits for ports 0 thru 3 */ 5 105 5 106 2 interrupt_mask_2 bit (16), /* mask bits for interrupts 16 thru 31 */ 5 107 2 pad2 bit (16), 5 108 2 port_mask_2 bit (4)) unal; /* mask bits for ports 4 thru 7 */ 5 109 5 110 5 111 dcl 1 scr_su based (scrp) aligned, /* store unit mode register */ 5 112 5 113 (2 pad1 bit (36), 5 114 2 ZAC_line bit (6), /* EDAC mode only - address field */ 5 115 2 syndrome bit (8), /* EDAC mode only - failure syndrome */ 5 116 2 identification bit (4), /* 0000 => High Speed Core Model AA1 5 117* 0001 => High Speed Core Model AA3 5 118* 0011 => 4K, 16 pin chip, MOS memory, M32 boards 5 119* 0100 => 1K chip MOS memory with EDAC enabled 5 120* 1010 => 64K, 16 pin chip, MOS memory, M64 boards 5 121* 1011 => 16K, 16 pin chip, MOS memory, M264 boards 5 122* 1100 => 1K chip MOS memory with EDAC disabled 5 123* 1110 => 16K, 16 pin chip, MOS memory, M128 boards 5 124* 1111 => 4K, 22 pin chip MOS memory, M16 boards */ 5 125 2 EDAC_disabled bit (1), /* 1 => correction disabled but detection still enabled */ 5 126 2 pad2 bit (4), 5 127 2 MINUS_5_VOLT_margin bit (2), 5 128 2 PLUS_5_VOLT_margin bit (2), 5 129 2 spare_margin bit (2), 5 130 2 PLUS_19_VOLT_margin bit (2), 5 131 2 pad3 bit (1), 5 132 2 SENSE_strobe_margin bit (2), /* core only */ 5 133 2 pad4 bit (1), 5 134 2 maint_functions_enabled bit (1)) unal; /* 1 => maintenance functions enabled */ 5 135 5 136 /* End of include file ...... scr.incl.pl1 */ 5 137 278 279 6 1 /* BEGIN INCLUDE FILE scs.incl.pl1 ... March 1983 */ 6 2 /* format: style4 */ 6 3 6 4 /* Information about system controllers */ 6 5 6 6 dcl 1 scs$controller_data (0:7) aligned ext, /* per-controller info */ 6 7 2 size fixed bin (17) unaligned, /* size (in 1024 word blocks) of this controller */ 6 8 2 base fixed bin (17) unaligned, /* abs address (0 mod 1024) for base of this controller */ 6 9 2 eima_data (4) unaligned, /* EIMA information for this controller */ 6 10 3 mask_available bit (1) unaligned, /* ON if corresponding mask exists */ 6 11 3 mask_assigned bit (1) unaligned, /* ON if mask assigned to a port */ 6 12 3 mbz bit (3) unaligned, 6 13 3 mask_assignment fixed bin (3) unaligned, /* port to which mask is assigned */ 6 14 2 info aligned, 6 15 3 online bit (1) unaligned, /* ON if controller is online */ 6 16 3 offline bit (1) unaligned, /* ON if controller is offline but can be added */ 6 17 3 store_a_online bit (1) unaligned, /* ON if store A is online */ 6 18 3 store_a1_online bit (1) unaligned, /* ON if store A1 is online */ 6 19 3 store_b_online bit (1) unaligned, /* ON if store B is online */ 6 20 3 store_b1_online bit (1) unaligned, /* ON if store B1 is online */ 6 21 3 store_b_is_lower bit (1) unaligned, /* ON if store B is lower */ 6 22 3 ext_interlaced bit (1) unaligned, /* ON if this SCU is interlaced with other SCU */ 6 23 3 int_interlaced bit (1) unaligned, /* ON if this SCU is internally interlaced */ 6 24 3 four_word bit (1) unaligned, /* ON if external interlace is 4-word */ 6 25 3 cyclic_priority (7) bit (1) unaligned, /* Cyclic priority for adjacent ports */ 6 26 3 type bit (4) unaligned, /* Model number for this controller */ 6 27 3 abs_wired bit (1) unaligned, /* ON if controller can have abs_wired pages */ 6 28 3 program bit (1) unaligned, /* PROGRAM/MANUAL switch setting */ 6 29 3 mbz bit (13) unaligned, 6 30 2 lower_store_size fixed bin (17) unaligned, /* size (in 1024 word blocks) of lower store */ 6 31 2 upper_store_size fixed bin (17) unaligned; /* size (in 1024 word blocks) of upper store */ 6 32 6 33 /* Information about CPUs */ 6 34 6 35 dcl 1 scs$processor_data (0:7) aligned ext, /* information about CPUs in the system */ 6 36 ( 6 37 2 online bit (1), /* "1"b if CPU is online */ 6 38 2 offline bit (1), /* "1"b if CPU is offline but can be added */ 6 39 2 release_mask bit (1), /* "1"b is this CPU is to give up its mask */ 6 40 2 accept_mask bit (1), /* "1"b if this CPU is to grap mask in idle loop */ 6 41 2 delete_cpu bit (1), /* "1"b if this CPU is to delete itself */ 6 42 2 interrupt_cpu bit (1), /* "1"b if this CPU takes hardware interrupts */ 6 43 2 halted_cpu bit (1), /* "1"b if this CPU has stopped itself (going to BOS) */ 6 44 2 cpu_type fixed bin (2) unsigned, /* 0 => DPS or L68, 1 => DPS8 */ 6 45 2 mbz1 bit (6), 6 46 2 cache_size fixed bin (3) unsigned, /* 0 = No cache; 1 = L68 2K cache; 6 47* 2 = DPS8 8K cache; 3 = DPS8 VS&SC 8K cache; 6 48* 4 = DPS8 VS&SC 16K cache; 5 = DPS8 VS&SC 32K cache 6 49* 7 = ignore cache size (set by ISOLTS reconfig) */ 6 50 2 mbz2 bit (12), 6 51 2 expanded_port bit (1), /* "1"b = on expanded port */ 6 52 2 expander_port fixed bin (2) unsigned, /* The actual expander port */ 6 53 2 controller_port fixed bin (3) unsigned 6 54 ) unaligned; /* Port on controller */ 6 55 6 56 dcl 1 scs$port_data (0:7) aligned external static, /* Info about what is connected to each SCU port */ 6 57 2 assigned fixed bin (4) unsigned unaligned, /* Type of device on this port */ 6 58 2 expander_port bit (1) unaligned, /* "1"b => this port has a port expander */ 6 59 2 expanded_cpu (0:3) bit (1) unaligned, /* "1"b => this expander port has a CPU attached */ 6 60 2 iom_number fixed bin (3) unsigned unaligned, /* IOM number of IOM attached to this port */ 6 61 2 cpu_number (0:3) fixed bin (3) unsigned unaligned, /* CPU number of CPU(s) attached to this port */ 6 62 /* cpu_number (0) is only one if expander_port is "0"b */ 6 63 2 pad bit (12) unaligned; 6 64 6 65 dcl 1 scs$cow (0:7) aligned external, /* Actual connect words */ 6 66 2 pad bit (36) aligned, /* Expander COW's must be odd-word */ 6 67 2 cow, 6 68 3 sub_mask bit (8) unaligned, /* Expander sub-port mask */ 6 69 3 mbz1 bit (13) unaligned, 6 70 3 expander_command bit (3) unaligned, /* Expander command. */ 6 71 3 mbz2 bit (2) unaligned, 6 72 3 expanded_port bit (1) unaligned, /* "1"b = on expanded port */ 6 73 3 expander_port fixed bin (3) unsigned unaligned, /* Port on expander for cioc */ 6 74 3 mbz3 bit (3) unaligned, 6 75 3 controller_port fixed bin (3) unaligned unsigned;/* controller port for this CPU */ 6 76 6 77 dcl 1 scs$cow_ptrs (0:7) external aligned, /* Pointers to COW's */ 6 78 2 rel_cow_ptr bit (18) unal, /* Relative pointer to COW */ 6 79 2 pad bit (12) unal, 6 80 2 tag bit (6) unal; /* Better be zero. */ 6 81 6 82 dcl 1 scs$reconfig_general_cow aligned external, /* Used during reconfig ops. */ 6 83 2 pad bit (36) aligned, 6 84 2 cow, /* Connect operand word, in odd location. */ 6 85 3 sub_mask bit (8) unaligned, /* Expander sub-port mask */ 6 86 3 mbz1 bit (13) unaligned, 6 87 3 expander_command bit (3) unaligned, /* Expander command. */ 6 88 3 mbz2 bit (9) unaligned, 6 89 3 controller_port fixed bin (3) unaligned unsigned;/* controller port for this CPU */ 6 90 6 91 /* MASKS and PATTERNS */ 6 92 6 93 dcl scs$sys_level bit (72) aligned ext; /* mask used while handling I/O interrupts */ 6 94 dcl scs$open_level bit (72) aligned ext; /* mask used during normal operation */ 6 95 dcl scs$processor_start_mask bit (72) aligned ext; /* mask used when starting up a CPU */ 6 96 dcl scs$cpu_test_mask bit (72) aligned ext; /* mask used for ISOLTS CPU testing */ 6 97 dcl scs$number_of_masks fixed bin ext; /* number of masks (starting at sys_level) */ 6 98 dcl scs$processor_start_pattern bit (36) aligned ext; /* SMIC pattern used to send processor start interrupt */ 6 99 dcl scs$cpu_test_pattern bit (36) aligned ext; /* SMIC pattern used for ISOLTS processor testing */ 6 100 6 101 /* CAM and CACHE clear info */ 6 102 6 103 dcl scs$cam_pair fixed bin (71) ext; /* instructions XEDd when CAMing and clearing CACHE */ 6 104 dcl scs$cam_wait bit (8) aligned ext; /* Used when evicting pages from main memory */ 6 105 6 106 /* MASKING INSTRUCTIONS & POINTERS */ 6 107 6 108 dcl scs$set_mask (0:7) bit (36) aligned ext; /* instructions to set mask (STAQ or SMCM) */ 6 109 dcl scs$read_mask (0:7) bit (36) aligned ext; /* instructions to read mask (LDAQ or RMCM) */ 6 110 dcl scs$mask_ptr (0:7) ptr unaligned ext; /* pointers for real or simulated masks */ 6 111 6 112 /* MISCELLANEOUS */ 6 113 6 114 dcl 1 scs$processor_test_data aligned ext, /* info used for cpu testing */ 6 115 ( 6 116 2 active bit (1), /* = "1"b if cpu currently under test */ 6 117 2 scu_state bit (2), /* state of scu being used for testing (see definition below) */ 6 118 2 pad1 bit (4), 6 119 2 req_mem fixed bin (10), /* dedicated memory required to test this cpu */ 6 120 2 cpu_tag fixed bin (5), /* tag of cpu under test */ 6 121 2 scu_tag fixed bin (5), /* tag of scu being used for cpu testing */ 6 122 2 mask_cpu fixed bin (5) 6 123 ) unaligned; /* tag of active cpu that has mask asigned to above scu */ 6 124 6 125 /* scu_state = "00"b => SCU defined by scs$processor_test_data.scu_tag not yet effected */ 6 126 /* scu_state = "01"b => all core removed from SCU, port mask not yet changed */ 6 127 /* scu_state = "10"b => all core removed from SCU, port mask changed */ 6 128 /* scu_state = "11"b => only 64k at base of SCU being used for testing, original port mask restored */ 6 129 6 130 dcl scs$idle_aptep (0:7) ptr unaligned ext; /* pointer to idle process APTE for each processor */ 6 131 6 132 dcl scs$connect_lock bit (36) aligned ext; /* lock for sending connects */ 6 133 dcl scs$reconfig_lock bit (36) aligned ext; /* Lock used during reconfiguration */ 6 134 dcl scs$trouble_flags bit (8) aligned ext; /* checkoff flags for sys_trouble stopping */ 6 135 dcl scs$bos_restart_flags bit (8) aligned ext; /* checkoff flags for restarting after sys_trouble */ 6 136 dcl scs$nprocessors fixed bin ext; /* number of runnung processors */ 6 137 dcl scs$bos_processor_tag fixed bin (3) ext; /* CPU tag of processor running BOS */ 6 138 dcl scs$faults_initialized bit (1) aligned ext; /* ON after faults have been enabled */ 6 139 dcl scs$sys_trouble_pending bit (1) aligned ext; /* sys_trouble event is pending in the system */ 6 140 dcl scs$fast_cam_pending (0:7) bit (36) aligned ext; /* checkoff cells for cam connect */ 6 141 dcl scs$interrupt_controller fixed bin (3) ext; /* port number of low order controller */ 6 142 dcl scs$processor_start_int_no fixed bin (5) ext; /* interrupt cell for starting a processor */ 6 143 dcl scs$processor bit (8) aligned ext; /* bits ON for online CPUs */ 6 144 dcl scs$processor_start_wait bit (8) aligned ext; /* checkoff flags for waiting for new processor */ 6 145 6 146 dcl scs$trouble_dbrs (0:7) fixed bin (71); /* DBR values at system crash time */ 6 147 6 148 dcl scs$port_addressing_word (0:7) bit (3) aligned ext; /* active module port number for each controller */ 6 149 6 150 dcl scs$cfg_data (0:7) fixed bin (71) aligned ext; /* RSCR-CFG data from each controller */ 6 151 6 152 dcl scs$cfg_data_save fixed bin (71) aligned ext; /* RSCR-CFG save area for ISOLTS CPU testing */ 6 153 6 154 dcl scs$expanded_ports bit (1) unaligned dim (0:7) external; 6 155 /* Which ports have expanders */ 6 156 6 157 dcl scs$processor_switch_data (0:4) bit (36) aligned ext; /* raw data from RSW 0 thru 4 */ 6 158 dcl scs$processor_switch_template (0:4) bit (36) aligned ext; /* expected data from RSW 0 thru 4 */ 6 159 dcl scs$processor_switch_compare (0:4) bit (36) aligned ext; /* discrepancies from expected data */ 6 160 dcl scs$processor_switch_mask (0:4) bit (36) aligned ext; /* masks for comparing switch data */ 6 161 6 162 dcl scs$processor_data_switch_value bit (36) aligned ext; /* Correct value for CPU data switches */ 6 163 6 164 dcl scs$controller_config_size (0:7) fixed bin (14) aligned ext; 6 165 /* Controller size on config card */ 6 166 6 167 dcl scs$reconfig_locker_id char (32) aligned ext; /* process group ID of process doing reconfiguration */ 6 168 6 169 dcl scs$scas_page_table (0:31) bit (36) aligned external static; 6 170 /* PTWs for SCAS pages */ 6 171 6 172 dcl scs$cycle_priority_template bit (7) aligned ext; /* template for setting anti-hog switches */ 6 173 dcl scs$set_cycle_switches bit (1) aligned ext; /* flag to set ant-hog switches */ 6 174 6 175 6 176 dcl ( 6 177 IOM_PORT init (1), 6 178 CPU_PORT init (2), 6 179 BULK_PORT init (3) 6 180 ) fixed bin int static options (constant); /* values for scs$port_data.assigned */ 6 181 6 182 6 183 /* END INCLUDE FILE scs.incl.pl1 */ 280 281 7 1 /* START OF: time_names_.incl.pl1 * * * * * * * * * * * * * * * * */ 7 2 7 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 4 /* */ 7 5 /* Name: time_names_.incl.pl1 */ 7 6 /* */ 7 7 /* This include file defines the structure of values in the time_table_. The table */ 7 8 /* includes a list of time zones known to the system, as well as lists of month names */ 7 9 /* and names of days of the week. All names are expressed in several different languages */ 7 10 /* to facilitate transliteration of dates into these languages. The table includes */ 7 11 /* the list of languages in which dates may be expressed. */ 7 12 /* */ 7 13 /* Status */ 7 14 /* */ 7 15 /* 0) Created 06/07/78: J. Falksen */ 7 16 /* 1) Modified 07/04/78: G. Dixon */ 7 17 /* */ 7 18 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 19 7 20 7 21 dcl time_info_$version char (8) ext static; /* Version number of all structures in the */ 7 22 /* time_info_. Currently = 1. */ 7 23 dcl Vtime_info_2 char (8) int static options(constant) init("tinfo002"); 7 24 7 25 dcl time_info_$gmt_zone_index fixed bin (17) ext static; 7 26 dcl time_info_$default_language_index fixed bin (17) ext static; 7 27 7 28 dcl time_info_$date_time_keywords fixed bin ext static; /* Table of named date/time format strings */ 7 29 dcl 1 ti_keyword based (addr (time_info_$date_time_keywords)), 7 30 2 number_kwd fixed bin, /* number of keywords present */ 7 31 2 pad fixed bin, 7 32 2 e (0 refer (ti_keyword.number_kwd)), 7 33 3 name char (32), 7 34 3 str char (128)var; 7 35 dcl (site_date init (1), 7 36 site_date_time init (2), 7 37 site_time init (3) 7 38 ) fixed bin int static options (constant); 7 39 7 40 dcl time_info_$language_names fixed bin ext static; /* Table of language names, in various languages */ 7 41 7 42 dcl 1 ti_language based (addr (time_info_$language_names)), 7 43 2 number_lang fixed bin, /* number of language names present */ 7 44 2 pad fixed bin, 7 45 2 name (0 refer (ti_language.number_lang), 0 refer (ti_language.number_lang)) 7 46 char(32) varying; /* Name of the language. */ 7 47 /* All language names are expressed in all languages. name(i,j) gives the */ 7 48 /* jth language name in language i. name(i,i) gives a language name in its */ 7 49 /* own language. */ 7 50 dcl time_info_$month_names fixed bin ext static; /* Table of month names in various languages. */ 7 51 7 52 dcl 1 ti_month based (addr (time_info_$month_names)), 7 53 2 number_lang fixed bin, /* number of languages in the table. */ 7 54 2 pad fixed bin, 7 55 2 e (0 refer (ti_month.number_lang), 12), 7 56 3 short char(8) var, /* short form of a month name, i.e., Nov */ 7 57 3 long char(32) var; /* long form of a month name, i.e. November */ 7 58 dcl time_info_$day_names fixed bin ext static; /* Table of day names in various languages. */ 7 59 7 60 dcl 1 ti_day based (addr (time_info_$day_names)), 7 61 2 number_lang fixed bin, /* number of languages in the table. */ 7 62 2 pad fixed bin, 7 63 2 e (0 refer (ti_day.number_lang), 7), 7 64 3 short char(8) var, /* short for of a day name, i.e. Sat */ 7 65 3 long char(32) var; /* long form of a day name, i.e. Saturday */ 7 66 dcl time_info_$offset_names fixed bin ext static; /* Table of offset names in various languages. */ 7 67 7 68 dcl 1 ti_offset based (addr (time_info_$offset_names)), 7 69 2 number_lang fixed bin, /* number of languages in the table. */ 7 70 2 number_offset fixed bin, 7 71 2 e (0 refer (ti_offset.number_lang), 0 refer (ti_offset.number_offset)), 7 72 3 short char(32) var, /* short form of an offset name, i.e. min */ 7 73 3 plural char(32) var, /* plural form of an offset name, i.e. minutes */ 7 74 3 singular char(32) var, /* singular for of an offset name, i.e. minute */ 7 75 3 this char(32) var; /* "this" which goes with singular */ 7 76 dcl time_info_$word_names fixed bin ext static; /* Table of word names in various languages. */ 7 77 7 78 dcl 1 ti_word based (addr (time_info_$word_names)), 7 79 2 number_lang fixed bin, /* number of languages in the table. */ 7 80 2 number_word fixed bin, 7 81 2 short (0 refer (ti_word.number_lang), 0 refer (ti_word.number_word)) 7 82 char (8) var, 7 83 2 word (0 refer (ti_word.number_lang), 0 refer (ti_word.number_word)) 7 84 char(32) var; /* a "word", i.e. Midnight */ 7 85 7 86 dcl time_info_$zone_names fixed bin ext static; /* Table of known time zones. */ 7 87 7 88 dcl 1 ti_zone based (addr (time_info_$zone_names)), 7 89 2 number_lang fixed bin, /* number of languages in which zone names */ 7 90 /* are defined. */ 7 91 2 number_zone fixed bin, /* number of zone names in the table. */ 7 92 2 e (0 refer (ti_zone.number_lang), 0 refer (ti_zone.number_zone)), 7 93 3 short char(4) var, /* short form of the zone name. */ 7 94 3 long char(64) var, /* long form of the zone name */ 7 95 3 pad fixed bin, 7 96 3 delta fixed bin(71); /* offset, in microseconds, of this time zone */ 7 97 /* from GMT (Greenwich mean time). This value */ 7 98 /* should be subtracted from a clock value */ 7 99 /* (which is expressed in GMT by definition). */ 7 100 /* to obtain a date/time expressed in the */ 7 101 /* named time zone. */ 7 102 /* NOTE: zones are listed in order of descending */ 7 103 /* delta, from +11 to -12. print_time_zones */ 7 104 /* requires this. */ 7 105 7 106 7 107 dcl (tiw_FiscalIndicator init (11) 7 108 ) fixed bin int static options (constant); 7 109 7 110 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 111 /* NOTE TO MAINTAINER: Before changing this file, see the comments in */ 7 112 /* time_info_cds.incl.pl1 */ 7 113 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 7 114 7 115 /* END OF: time_names_.incl.pl1 * * * * * * * * * * * * * * * * */ 282 283 end init_clocks; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0826.3 init_clocks.pl1 >special_ldd>install>MR12.3-1114>init_clocks.pl1 270 1 05/08/81 1853.6 config_deck.incl.pl1 >ldd>include>config_deck.incl.pl1 272 2 05/08/81 1853.6 config_clok_card.incl.pl1 >ldd>include>config_clok_card.incl.pl1 274 3 10/22/86 1450.1 disk_pack.incl.pl1 >ldd>include>disk_pack.incl.pl1 276 4 07/21/88 2036.0 fs_vol_label.incl.pl1 >ldd>include>fs_vol_label.incl.pl1 278 5 08/17/83 1135.7 scr.incl.pl1 >ldd>include>scr.incl.pl1 280 6 10/12/83 0943.5 scs.incl.pl1 >ldd>include>scs.incl.pl1 282 7 09/06/84 0850.2 time_names.incl.pl1 >ldd>include>time_names.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. CLOK_CARD_WORD 000000 constant char(4) initial dcl 2-18 ref 190 194 FREE_CARD_WORD 001414 constant char(4) initial dcl 1-29 ref 190 LABEL_ADDR 000047 constant fixed bin(17,0) initial dcl 3-54 set ref 241* Multics 500 000232 automatic char(32) initial level 2 dcl 237 set ref 237* SC_ETC 000050 constant fixed bin(6,0) initial dcl 5-9 set ref 170* TIME 000100 automatic fixed bin(71,0) dcl 63 set ref 95* 122* 132 132 132 132 135* 170* 222* 224 224 addr builtin function dcl 86 ref 186 199 200 201 207 240 addrel builtin function dcl 86 ref 191 bce_query 000010 constant entry external dcl 48 ref 99 111 134 141 bce_query$yes_no 000012 constant entry external dcl 49 ref 253 262 bin builtin function dcl 86 ref 170 boot_delta 3 based fixed bin(17,0) level 2 dcl 2-5 ref 260 bootload_scu 000102 automatic fixed bin(3,0) dcl 64 set ref 93* 130 144 cardp 000154 automatic pointer dcl 1-3 set ref 186* 187 190 190 191* 191 191 194 197 clock builtin function dcl 86 ref 95 135 251 260 clok_card based structure level 1 dcl 2-5 clok_cardp 000160 automatic pointer dcl 2-3 set ref 197* 198 201 260 code 000103 automatic fixed bin(35,0) dcl 65 set ref 122* 124 126* 241* 242 244* com_err_ 000014 constant entry external dcl 50 ref 126 205 212 244 config_card based structure level 1 dcl 1-13 ref 187 191 config_card_type_word based structure level 1 dcl 1-18 config_max_cards 000156 automatic fixed bin(17,0) dcl 1-5 set ref 187* 190 194 controllerx 000200 automatic fixed bin(3,0) dcl 167 set ref 169* 170 170 170* convert_date_to_binary_ 000016 constant entry external dcl 51 ref 122 date_time_$format 000020 constant entry external dcl 53 ref 222 date_time_$set_time_defaults 000022 constant entry external dcl 54 ref 161 delta 26 based fixed bin(71,0) array level 3 dcl 7-88 ref 207 disk_config_deck$ 000032 external static fixed bin(17,0) dcl 73 set ref 186 divide builtin function dcl 86 ref 187 e 2 based structure array level 2 unaligned dcl 7-88 fixed builtin function dcl 86 ref 93 hbound builtin function dcl 86 ref 169 idx 000210 automatic fixed bin(17,0) dcl 182 set ref 190* 194 info 2 000050 external static structure array level 2 dcl 6-6 ioa_ 000024 constant entry external dcl 56 ref 132 223 226 label based structure level 1 dcl 4-18 labelp 000162 automatic pointer dcl 4-16 set ref 240* 241* 247 247 251 260 lang_index 000211 automatic fixed bin(17,0) dcl 183 set ref 199* 201* 207 lbound builtin function dcl 86 ref 169 line 000104 automatic char(80) packed unaligned dcl 66 set ref 97* 98 98 99* 100 100 107 111* 113 122* 126 126 134* 139* 140 140 141* 142 142 151 me 000014 constant char(11) initial packed unaligned dcl 42 set ref 126* 205* 212* 244* number_lang based fixed bin(17,0) level 2 dcl 7-88 ref 199 number_zone 1 based fixed bin(17,0) level 2 dcl 7-88 ref 200 201 201 207 207 online 2 000050 external static bit(1) array level 3 packed packed unaligned dcl 6-6 ref 170 privileged_mode_ut$sscr 000026 constant entry external dcl 57 ref 170 pvt$root_pvtx 000034 external static fixed bin(17,0) dcl 74 set ref 241* read_disk 000030 constant entry external dcl 59 ref 241 rpv_label 000232 automatic structure level 1 dcl 237 set ref 240 rtrim builtin function dcl 86 ref 126 126 scs$controller_data 000050 external static structure array level 1 dcl 6-6 ref 169 169 short 2 based varying char(4) array level 3 dcl 7-88 ref 201 size builtin function dcl 86 ref 187 191 substr builtin function dcl 86 ref 132 132 132 132 success parameter bit(1) dcl 38 set ref 33 89* 104* 115* 148* sys_info$clock_ 000036 external static bit(3) dcl 75 ref 93 sys_info$first_reasonable_time 000040 external static fixed bin(71,0) dcl 76 ref 224 247 sys_info$last_reasonable_time 000042 external static fixed bin(71,0) dcl 78 ref 224 247 sys_info$time_correction_constant 000044 external static fixed bin(71,0) dcl 80 set ref 160* sys_info$time_zone 000046 external static char(4) dcl 82 set ref 159* ti_zone based structure level 1 unaligned dcl 7-88 time_correction 000130 automatic fixed bin(71,0) dcl 67 set ref 160 207* time_format 000001 constant char(41) initial packed unaligned dcl 43 set ref 222* time_info_$zone_names 000052 external static fixed bin(17,0) dcl 7-86 set ref 199 200 201 207 time_string 000132 automatic varying char(64) dcl 68 set ref 222* 223* time_unmounted 612 based fixed bin(71,0) level 2 dcl 4-18 ref 247 247 251 260 type 2(17) 000050 external static bit(4) array level 3 packed packed unaligned dcl 6-6 ref 130 144 170 unspec builtin function dcl 86 ref 132 132 132 132 word based char(4) level 2 dcl 1-13 ref 190 190 194 yes_no 002232 automatic bit(1) dcl 238 set ref 253* 256 262* 264 zone 000153 automatic char(4) packed unaligned dcl 69 in procedure "init_clocks" set ref 159 198* 222* zone 2 based char(4) level 2 in structure "clok_card" dcl 2-5 in procedure "init_clocks" ref 198 201 zone_index 000212 automatic fixed bin(17,0) dcl 184 set ref 200* 201* 207 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BULK_PORT internal static fixed bin(17,0) initial dcl 6-176 CONFIG_DECIMAL_TYPE internal static bit(2) initial dcl 1-23 CONFIG_OCTAL_TYPE internal static bit(2) initial dcl 1-23 CONFIG_SINGLE_CHAR_TYPE internal static bit(2) initial dcl 1-23 CONFIG_STRING_TYPE internal static bit(2) initial dcl 1-23 CPU_PORT internal static fixed bin(17,0) initial dcl 6-176 DEFAULT_HCPART_SIZE internal static fixed bin(17,0) initial dcl 3-54 DUMPER_BIT_MAP_ADDR internal static fixed bin(17,0) initial dcl 3-54 EMPTY_FIELD internal static bit(36) initial dcl 1-34 IOM_PORT internal static fixed bin(17,0) initial dcl 6-176 MAX_VTOCE_PER_PACK internal static fixed bin(17,0) initial dcl 3-54 Multics_ID_String internal static char(32) initial packed unaligned dcl 4-92 PAGE_SIZE internal static fixed bin(17,0) initial dcl 3-67 SC_CFG internal static fixed bin(6,0) initial dcl 5-9 SC_IC internal static fixed bin(6,0) initial dcl 5-9 SC_MR internal static fixed bin(6,0) initial dcl 5-9 SC_MSK internal static fixed bin(6,0) initial dcl 5-9 SC_SU internal static fixed bin(6,0) initial dcl 5-9 SECTORS_PER_RECORD internal static fixed bin(17,0) initial array dcl 3-74 SECTORS_PER_VTOCE internal static fixed bin(17,0) initial array dcl 3-70 VALID_CARD_WORD_CHARACTERS internal static char(38) initial packed unaligned dcl 1-31 VOLMAP_ADDR internal static fixed bin(17,0) initial dcl 3-54 VTOCES_PER_RECORD internal static fixed bin(17,0) initial array dcl 3-72 VTOCE_SIZE internal static fixed bin(17,0) initial dcl 3-68 VTOC_MAP_ADDR internal static fixed bin(17,0) initial dcl 3-54 VTOC_ORIGIN internal static fixed bin(17,0) initial dcl 3-54 Vtime_info_2 internal static char(8) initial packed unaligned dcl 7-23 ZERO_CARD_WORD internal static char(4) initial dcl 1-28 config_deck based structure level 1 dcl 1-9 config_deck$ external static fixed bin(17,0) dcl 1-7 config_n_cards automatic fixed bin(17,0) dcl 1-4 configp automatic pointer dcl 1-3 scr_cfg1 based structure level 1 dcl 5-19 scr_cfg2 based structure level 1 dcl 5-45 scr_mr based structure level 1 dcl 5-74 scr_msk based structure level 1 dcl 5-100 scr_su based structure level 1 dcl 5-111 scrp automatic pointer dcl 5-17 scs$bos_processor_tag external static fixed bin(3,0) dcl 6-137 scs$bos_restart_flags external static bit(8) dcl 6-135 scs$cam_pair external static fixed bin(71,0) dcl 6-103 scs$cam_wait external static bit(8) dcl 6-104 scs$cfg_data external static fixed bin(71,0) array dcl 6-150 scs$cfg_data_save external static fixed bin(71,0) dcl 6-152 scs$connect_lock external static bit(36) dcl 6-132 scs$controller_config_size external static fixed bin(14,0) array dcl 6-164 scs$cow external static structure array level 1 dcl 6-65 scs$cow_ptrs external static structure array level 1 dcl 6-77 scs$cpu_test_mask external static bit(72) dcl 6-96 scs$cpu_test_pattern external static bit(36) dcl 6-99 scs$cycle_priority_template external static bit(7) dcl 6-172 scs$expanded_ports external static bit(1) array packed unaligned dcl 6-154 scs$fast_cam_pending external static bit(36) array dcl 6-140 scs$faults_initialized external static bit(1) dcl 6-138 scs$idle_aptep external static pointer array packed unaligned dcl 6-130 scs$interrupt_controller external static fixed bin(3,0) dcl 6-141 scs$mask_ptr external static pointer array packed unaligned dcl 6-110 scs$nprocessors external static fixed bin(17,0) dcl 6-136 scs$number_of_masks external static fixed bin(17,0) dcl 6-97 scs$open_level external static bit(72) dcl 6-94 scs$port_addressing_word external static bit(3) array dcl 6-148 scs$port_data external static structure array level 1 dcl 6-56 scs$processor external static bit(8) dcl 6-143 scs$processor_data external static structure array level 1 dcl 6-35 scs$processor_data_switch_value external static bit(36) dcl 6-162 scs$processor_start_int_no external static fixed bin(5,0) dcl 6-142 scs$processor_start_mask external static bit(72) dcl 6-95 scs$processor_start_pattern external static bit(36) dcl 6-98 scs$processor_start_wait external static bit(8) dcl 6-144 scs$processor_switch_compare external static bit(36) array dcl 6-159 scs$processor_switch_data external static bit(36) array dcl 6-157 scs$processor_switch_mask external static bit(36) array dcl 6-160 scs$processor_switch_template external static bit(36) array dcl 6-158 scs$processor_test_data external static structure level 1 dcl 6-114 scs$read_mask external static bit(36) array dcl 6-109 scs$reconfig_general_cow external static structure level 1 dcl 6-82 scs$reconfig_lock external static bit(36) dcl 6-133 scs$reconfig_locker_id external static char(32) dcl 6-167 scs$scas_page_table external static bit(36) array dcl 6-169 scs$set_cycle_switches external static bit(1) dcl 6-173 scs$set_mask external static bit(36) array dcl 6-108 scs$sys_level external static bit(72) dcl 6-93 scs$sys_trouble_pending external static bit(1) dcl 6-139 scs$trouble_dbrs automatic fixed bin(71,0) array dcl 6-146 scs$trouble_flags external static bit(8) dcl 6-134 site_date internal static fixed bin(17,0) initial dcl 7-35 site_date_time internal static fixed bin(17,0) initial dcl 7-35 site_time internal static fixed bin(17,0) initial dcl 7-35 ti_day based structure level 1 unaligned dcl 7-60 ti_keyword based structure level 1 unaligned dcl 7-29 ti_language based structure level 1 unaligned dcl 7-42 ti_month based structure level 1 unaligned dcl 7-52 ti_offset based structure level 1 unaligned dcl 7-68 ti_word based structure level 1 unaligned dcl 7-78 time_info_$date_time_keywords external static fixed bin(17,0) dcl 7-28 time_info_$day_names external static fixed bin(17,0) dcl 7-58 time_info_$default_language_index external static fixed bin(17,0) dcl 7-26 time_info_$gmt_zone_index external static fixed bin(17,0) dcl 7-25 time_info_$language_names external static fixed bin(17,0) dcl 7-40 time_info_$month_names external static fixed bin(17,0) dcl 7-50 time_info_$offset_names external static fixed bin(17,0) dcl 7-66 time_info_$version external static char(8) packed unaligned dcl 7-21 time_info_$word_names external static fixed bin(17,0) dcl 7-76 tiw_FiscalIndicator internal static fixed bin(17,0) initial dcl 7-107 NAMES DECLARED BY EXPLICIT CONTEXT. ABORT 000410 constant label dcl 115 ref 206 214 245 CHECK_TIME 000362 constant label dcl 111 ref 127 154 227 256 264 check_rpv 001244 constant entry internal dcl 232 ref 103 147 check_time 001137 constant entry internal dcl 219 ref 96 138 find_zone 000743 constant entry internal dcl 176 ref 91 found_zone 001105 constant label dcl 207 ref 201 init_clocks 000262 constant entry external dcl 33 no_clok 001110 constant label dcl 212 ref 194 set_clocks 000703 constant entry internal dcl 164 ref 146 set_defaults 000670 constant entry internal dcl 157 ref 102 120 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1656 1732 1420 1666 Length 2266 1420 54 320 235 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME init_clocks 1445 external procedure is an external procedure. set_defaults internal procedure shares stack frame of external procedure init_clocks. set_clocks internal procedure shares stack frame of external procedure init_clocks. find_zone internal procedure shares stack frame of external procedure init_clocks. check_time internal procedure shares stack frame of external procedure init_clocks. check_rpv internal procedure shares stack frame of external procedure init_clocks. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME init_clocks 000100 TIME init_clocks 000102 bootload_scu init_clocks 000103 code init_clocks 000104 line init_clocks 000130 time_correction init_clocks 000132 time_string init_clocks 000153 zone init_clocks 000154 cardp init_clocks 000156 config_max_cards init_clocks 000160 clok_cardp init_clocks 000162 labelp init_clocks 000200 controllerx set_clocks 000210 idx find_zone 000211 lang_index find_zone 000212 zone_index find_zone 000232 rpv_label check_rpv 002232 yes_no check_rpv THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. bce_query bce_query$yes_no com_err_ convert_date_to_binary_ date_time_$format date_time_$set_time_defaults ioa_ privileged_mode_ut$sscr read_disk THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. disk_config_deck$ pvt$root_pvtx scs$controller_data sys_info$clock_ sys_info$first_reasonable_time sys_info$last_reasonable_time sys_info$time_correction_constant sys_info$time_zone time_info_$zone_names LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000257 89 000267 91 000271 93 000272 95 000276 96 000300 97 000301 98 000304 99 000314 100 000337 102 000347 103 000350 104 000351 105 000354 107 000355 109 000361 111 000362 113 000404 115 000410 117 000412 120 000413 122 000414 124 000435 126 000437 127 000506 130 000510 132 000522 134 000550 135 000570 138 000572 139 000573 140 000576 141 000606 142 000631 144 000641 146 000654 147 000655 148 000656 149 000661 151 000662 153 000666 154 000667 157 000670 159 000671 160 000674 161 000676 162 000702 164 000703 169 000704 170 000711 172 000740 173 000742 176 000743 186 000744 187 000747 190 000752 191 000766 192 000771 194 000773 197 001000 198 001002 199 001005 200 001015 201 001027 203 001053 204 001055 205 001057 206 001104 207 001105 209 001107 212 001110 214 001135 216 001136 219 001137 222 001140 223 001201 224 001221 226 001227 227 001242 229 001243 232 001244 237 001245 240 001250 241 001252 242 001267 244 001271 245 001316 247 001317 251 001327 253 001333 256 001353 260 001356 262 001370 264 001410 267 001413 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved