COMPILATION LISTING OF SEGMENT obs_reconfigure Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 01/17/89 1342.6 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 16 /****^ HISTORY COMMENTS: 17* 1) change(88-12-30,Parisek), approve(88-12-30,MCR8040), 18* audit(89-01-04,Farley), install(89-01-17,MR12.3-1005): 19* Revise the rc_messages array declaration so the second dimension of the 20* array represents the actual count of 11 messages. The eleventh message 21* was added for MR12.2. 22* END HISTORY COMMENTS */ 23 24 25 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 26 reconfigure: 27 proc; 28 29 /* This program is the user ring interface the supervisor reconfiguration software. 30* The following entries (all of which can be invoked as commands) are provided: 31* 32* * addcpu tag 33* * delcpu tag 34* * addmem tag 35* * delmem tag 36* * addmain first_frame n_frames 37* * delmain first_frame n_frames 38* * rc_force_unlock 39* * addchnl chanid 40* * delchnl chanid 41* 42* Last modified (date and reason): 43* 44* 3/9/76 by S. Webber Initial coding 45* 6/20/83 by S. Krupp for logical channel reconfiguration (addchnl and delchnl). 46**/ 47 48 /* Automatic */ 49 50 dcl tp ptr; 51 dcl arg char (16) var aligned; 52 dcl arg2 char (256) var aligned; 53 dcl chan_num fixed bin (35); 54 dcl chanid char (8) aligned; 55 dcl switches (4) bit (36) aligned; 56 dcl lace bit (1) aligned; 57 dcl first fixed bin; 58 dcl last fixed bin; 59 dcl n_frames fixed bin; 60 dcl n_args fixed bin; 61 dcl tc fixed bin; 62 dcl code fixed bin (35); 63 dcl errtag fixed bin (3); 64 dcl type fixed bin; 65 dcl tag fixed bin (3); 66 dcl 1 auto_rci aligned like rci; 67 dcl i fixed bin; 68 69 70 /* Static */ 71 72 dcl myname (7) char (8) aligned static options (constant) 73 init ("addcpu", "delcpu", "addmem", "delmem", "addmain", "delmain", "unlock"); 74 dcl my_new_name (7) char (16) aligned static options (constant) 75 init ("add cpu", "delete cpu", "add mem", "delete mem", "add page", "delete page", ""); 76 77 dcl devtype (9) char (4) aligned static options (constant) 78 init ("CPU ", "CPU ", "MEM ", "MEM ", "MAIN", "MAIN", " ", " ", " "); 79 80 dcl TAGS (0:7) char (1) aligned static options (constant) 81 init ("A", "B", "C", "D", "E", "F", "G", "H"); 82 83 /* External */ 84 85 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 86 dcl rc_messages$rc_messages 87 (0:7, 11) char (64) aligned ext; 88 dcl error_table_$wrong_no_of_args 89 fixed bin (35) ext; 90 dcl error_table_$bad_arg fixed bin (35) ext; 91 92 /* Builtins */ 93 94 dcl (addr, index, mod, null, search, substr, unspec) 95 builtin; 96 97 /* Based */ 98 99 dcl targ char (tc) based (tp); 100 101 /* Entries */ 102 103 dcl hphcs_$add_cpu entry (fixed bin (3), (4) bit (36) aligned, fixed bin (35)); 104 dcl hphcs_$del_cpu entry (fixed bin (3), fixed bin (35)); 105 dcl hphcs_$add_scu entry (fixed bin (3), bit (1) aligned, fixed bin (3), fixed bin (35)); 106 dcl hphcs_$del_scu entry (fixed bin (3), bit (1) aligned, fixed bin (35)); 107 dcl hphcs_$add_main entry (fixed bin, fixed bin, fixed bin (35)); 108 dcl hphcs_$del_main entry (fixed bin, fixed bin, fixed bin (35)); 109 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 110 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 111 dcl cv_oct_check_ entry (char (*), fixed bin (35)) returns (fixed bin); 112 dcl com_err_ entry options (variable); 113 dcl hphcs_$reconfig_info entry (ptr, fixed bin (35)); 114 dcl hphcs_$rc_force_unlock entry; 115 dcl ioa_ entry options (variable); 116 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 117 118 dcl iox_$user_output ptr ext static; /* */ 119 120 /* ADDCPU ADDCPU ADDCPU 121* 122* 123* This entry assumes and expects a single argument which is the processor tag 124* of the processor to be added to the system. 125* 126**/ 127 128 addcpu: 129 entry; 130 131 call check_args (1, 8); /* get argument and reconfig info from ring zero */ 132 133 call hphcs_$add_cpu (tag, switches, code); /* try to add it */ 134 if code = rcerr_addcpu_bad_switches then do; /* If config switches in error ... */ 135 rswp = addr (switches (2)); 136 if dps_rsw_2.fault_base then 137 call sw_mess_1 ("Fault Base"); 138 if dps_rsw_2.cpu_num ^= 0 then 139 call sw_mess_1 ("Processor Number"); 140 141 rswp = addr (switches (4)); 142 do i = 0 to 7; 143 if i < 4 then 144 pip = addr (addr (switches (1)) -> rsw_1_3.port_info (i)); 145 else pip = addr (addr (switches (3)) -> rsw_1_3.port_info (i - 4)); 146 147 if pi.port_assignment then 148 call sw_mess_2 ("Port Assignment"); 149 if pi.port_enable then 150 call sw_mess_2 ("Port Enable"); 151 if pi.interlace_enable | rsw_4.four (i) then 152 call sw_mess_2 ("Interlace"); 153 if pi.mem_size ^= 0 then 154 call sw_mess_2 ("Size"); 155 if rsw_4.half (i) then 156 call sw_mess_2 ("Half/Full"); 157 end; 158 end; 159 160 else if code = rcerr_addcpu_enable then do; 161 unspec (errtag) = switches (1); /* Get offending SCU tag. */ 162 arg2 = TAGS (errtag); 163 end; 164 if code ^= 0 then 165 call abort (code); /* wouldn't add, complain */ 166 167 call ioa_ ("^a is now running.", arg); 168 return; 169 170 /* */ 171 172 /* DELCPU DELCPU DELCPU 173* 174* 175* 176* This entry assumes and expects a single argument which is the processor tag of the 177* processor to be deleted. 178* 179**/ 180 181 delcpu: 182 entry; 183 184 call check_args (2, 8); /* get argument and reconfig info from ring zero */ 185 186 call hphcs_$del_cpu (tag, code); 187 if code ^= 0 then 188 call abort (code); /* couldn't delete it, complain */ 189 190 call ioa_ ("Deleted ^a.", arg); 191 return; 192 193 /* */ 194 195 /* ADDMEM ADDMEM ADDMEM 196* 197* 198* This entry assumes and expects a single argument which is the port number (tag) of the 199* system controller to add to the system. All memory attached to the controller is added. 200* If parity errors are detected in any frames, those frames are _n_o_t added. 201* 202* 203**/ 204 205 addmem: 206 entry; 207 208 call check_args (3, 8); /* get argument and reconfig info from ring zero */ 209 210 call hphcs_$add_scu (tag, lace, errtag, code); 211 if code ^= 0 then do; 212 if (code ^= rcerr_addscu_size) & (code ^= rcerr_addscu_manual) then 213 arg2 = TAGS (errtag); 214 call abort (code); 215 end; 216 217 call print_mem_message ("Added"); 218 return; 219 220 221 222 /* DELMEM DELMEM DELMEM 223* 224* 225* This entry assumes and expects a single argument which is the port number (tag) 226* of the controller to be deleted. 227* 228**/ 229 230 delmem: 231 entry; 232 233 call check_args (4, 8); /* get argument and reconfig info from ring zero */ 234 235 call hphcs_$del_scu (tag, lace, code); 236 if code ^= 0 then 237 call abort (code); 238 239 call print_mem_message ("Removed"); 240 return; 241 242 /* */ 243 244 /* ADDMAIN ADDMAIN ADDMAIN 245* 246* 247* This entry is called with one or two arguments. The first is the page frame number of 248* a block of main memory to be added to the configuration. The second argument is the number 249* of contiguous blocks to be added starting with the first. If the second argument is not specified, 250* the value 1 is assumed. If the memory is already configured, no complaint is made. 251* 252**/ 253 254 addmain: 255 entry; 256 257 call check_args (5, 0); 258 259 call hphcs_$add_main (first, n_frames, code); 260 if code ^= 0 then 261 call abort (code); 262 263 call print_main_message ("Added"); 264 return; 265 266 267 268 269 /* DELMAIN DELMAIN DELMAIN 270* 271* 272* This entry is called with one or two arguments. The first is the page frame number of 273* a block of main memory to be deleted from the system. The second argument is the number 274* of contiguous blocks to be deleted starting with the first. If the second argument is not specified, 275* the value 1 is assumed. If the memory is already deleted, no complaint is made. 276* 277**/ 278 279 delmain: 280 entry; 281 282 call check_args (6, 0); 283 284 call hphcs_$del_main (first, n_frames, code); 285 if code ^= 0 then 286 call abort (code); 287 288 call print_main_message ("Removed"); 289 return; 290 291 /* FORCE_UNLOCK FORCE_UNLOCK FORCE_UNLOCK 292* 293* 294* This entry is used to forcibly unlock the reconfiguration lock. It is used when 295* a reconfiguration request has somehow aborted and left the data bases locked. 296* 297* 298**/ 299 300 force_unlock: 301 entry; 302 303 type = 7; 304 call hphcs_$reconfig_info (addr (auto_rci), code); 305 if code = 0 then 306 call com_err_ (0, myname (type), "Reconfiguration data not locked."); 307 else call com_err_ (0, myname (type), "Reconfiguration data locked by ^a", auto_rci.locker_group_id); 308 309 call hphcs_$rc_force_unlock; 310 311 return; 312 313 /* */ 314 315 /* PRINT_MAIN_MESSAGE PRINT_MAIN_MESSAGE PRINT_MAIN_MESSAGE 316* 317* 318* This entry is used to print a message about the reconfiguration of the specified 319* region of main memory. 320* 321* 322**/ 323 324 print_main_message: 325 proc (action); 326 327 dcl action char (*); 328 329 if first ^= last then 330 call ioa_ ("^a frames ^o thru ^o.", action, first, last); 331 else call ioa_ ("^a frame ^o.", action, first); 332 return; 333 334 end; 335 336 337 338 /* PRINT_MEM_MESSAGE PRINT_MEM_MESSAGE PRINT_MEM_MESSAGE 339* 340* 341* This subroutine is used to print a message saying that an SCU and its memory 342* have been added or removed from the system. It prints the information for both SCU's if two 343* interlaced SCU's were reconfigured. 344* 345**/ 346 347 print_mem_message: 348 proc (action); 349 350 dcl action char (*); 351 352 if lace then do; 353 tag = tag - mod (tag, 2); 354 call ioa_ ("^a SCU's ^a and ^a (interlaced) and their memory.", action, TAGS (tag), TAGS (tag + 1)); 355 end; 356 else call ioa_ ("^a SCU ^a and its memory.", action, TAGS (tag)); 357 return; 358 359 end; 360 361 /* */ 362 363 /* SW_MESS SW_MESS SW_MESS 364* 365* 366* These subroutines are used to interpret configuration switch errors 367* when adding a CPU. 368* 369**/ 370 371 sw_mess_1: 372 proc (mess); 373 374 dcl mess char (*); 375 376 arg2 = arg2 || " 377 "; 378 arg2 = arg2 || mess; 379 380 return; 381 382 383 sw_mess_2: 384 entry (mess); 385 386 arg2 = arg2 || " 387 "; 388 arg2 = arg2 || "MEM "; 389 arg2 = arg2 || TAGS (i); 390 arg2 = arg2 || " "; 391 arg2 = arg2 || mess; 392 393 return; 394 395 end; 396 397 /* */ 398 399 /* CHECK_ARGS CHECK_ARGS CHECK_ARGS 400* 401* 402* This subroutine is used to pick up the arguments. It is called with two 403* arguments. The first is an integer specifiying which entry to reconfigure was called. 404* This may be used later for error message printing. The second argument is the number of values over 405* which the command argument may range. For CPU reconfiguration requests it is 4. For controller 406* reconfiguration requests it is 8. 407* 408**/ 409 410 check_args: 411 proc (t, range); 412 413 dcl t fixed bin; 414 dcl range fixed bin; 415 416 code = 0; 417 type = t; 418 arg = ""; 419 arg2 = ""; 420 421 call iox_$control (iox_$user_output, "alarm", null (), (0)); 422 /* try to beep the console */ 423 call ioa_ ("^a is obsolete. Use {rcf} ^a instead.", myname (type), my_new_name (type)); 424 425 call cu_$arg_count (n_args, code); 426 if code ^= 0 then 427 call abort (code); 428 429 if type <= 4 then do; /* ADDCPU, DELCPU, ADDMEM, and DELMEM */ 430 if n_args ^= 1 then 431 call abort (error_table_$wrong_no_of_args); 432 call cu_$arg_ptr (1, tp, tc, code); /* pick up the argument */ 433 arg = targ; 434 tag = index (substr ("abcdefgh", 1, range), targ) - 1; 435 if (tag < 0) | (tc ^= 1) then 436 call abort (error_table_$bad_arg); 437 arg = devtype (type) || TAGS (tag); 438 end; 439 else if type <= 6 /* ADDMAIN or DELMAIN */ 440 then do; 441 if (n_args = 0) | (n_args > 2) then 442 call abort (error_table_$wrong_no_of_args); 443 call cu_$arg_ptr (1, tp, tc, code); /* get port */ 444 arg = targ; 445 first = cv_oct_check_ (targ, code); 446 if code ^= 0 then 447 call abort (error_table_$bad_arg); 448 if n_args = 2 then do; 449 call cu_$arg_ptr (2, tp, tc, code); 450 arg = targ; 451 n_frames = cv_oct_check_ (targ, code); 452 if (code ^= 0) | (n_frames <= 0) then 453 call abort (error_table_$bad_arg); 454 end; 455 else n_frames = 1; 456 457 arg = devtype (type); 458 last = first + n_frames - 1; 459 end; 460 else do; 461 if n_args ^= 1 then 462 call abort (error_table_$wrong_no_of_args); 463 call cu_$arg_ptr (1, tp, tc, code); 464 if code ^= 0 then 465 call abort (code); 466 if ^(tc >= 1 | tc <= 8) then 467 call abort (error_table_$bad_arg); 468 if search (targ, "ab") ^= 1 then 469 call abort (error_table_$bad_arg); 470 chan_num = cv_dec_check_ (substr (targ, 2), code); 471 if code ^= 0 then 472 call abort (code); 473 chanid = targ; 474 end; 475 476 return; 477 478 end check_args; 479 480 /* */ 481 482 /* ABORT ABORT ABORT 483* 484* 485* 486* This subroutine is called to report an error from some stage of reconfiguration. 487* The input to the routine is 488* 489* * abort_code the parameter 490* 491* The abort_code parameter is interpreted differently depending on its value. If it is 492* greater than or equal to 7, it indicates a generic problem that can happen with 493* all entries. If it is less than 7, it indicates a specific problem with the entry given 494* by type. 495* 496**/ 497 498 abort: 499 proc (abort_code); 500 501 dcl abort_code fixed bin (35); 502 503 if abort_code >= 21 then 504 call com_err_ (abort_code, myname (type), arg); 505 else if abort_code >= 11 then 506 call com_err_ (0, myname (type), rc_messages$rc_messages (0, abort_code - 10), arg); 507 else call com_err_ (0, myname (type), rc_messages$rc_messages (type, abort_code), arg, arg2); 508 509 goto ERROR; 510 511 end abort; 512 513 ERROR: 514 return; /* target of nonlocal goto's */ 515 516 517 /* */ 518 1 1 /* BEGIN INCLUDE FILE scs.incl.pl1 ... March 1983 */ 1 2 /* format: style4 */ 1 3 1 4 /* Information about system controllers */ 1 5 1 6 dcl 1 scs$controller_data (0:7) aligned ext, /* per-controller info */ 1 7 2 size fixed bin (17) unaligned, /* size (in 1024 word blocks) of this controller */ 1 8 2 base fixed bin (17) unaligned, /* abs address (0 mod 1024) for base of this controller */ 1 9 2 eima_data (4) unaligned, /* EIMA information for this controller */ 1 10 3 mask_available bit (1) unaligned, /* ON if corresponding mask exists */ 1 11 3 mask_assigned bit (1) unaligned, /* ON if mask assigned to a port */ 1 12 3 mbz bit (3) unaligned, 1 13 3 mask_assignment fixed bin (3) unaligned, /* port to which mask is assigned */ 1 14 2 info aligned, 1 15 3 online bit (1) unaligned, /* ON if controller is online */ 1 16 3 offline bit (1) unaligned, /* ON if controller is offline but can be added */ 1 17 3 store_a_online bit (1) unaligned, /* ON if store A is online */ 1 18 3 store_a1_online bit (1) unaligned, /* ON if store A1 is online */ 1 19 3 store_b_online bit (1) unaligned, /* ON if store B is online */ 1 20 3 store_b1_online bit (1) unaligned, /* ON if store B1 is online */ 1 21 3 store_b_is_lower bit (1) unaligned, /* ON if store B is lower */ 1 22 3 ext_interlaced bit (1) unaligned, /* ON if this SCU is interlaced with other SCU */ 1 23 3 int_interlaced bit (1) unaligned, /* ON if this SCU is internally interlaced */ 1 24 3 four_word bit (1) unaligned, /* ON if external interlace is 4-word */ 1 25 3 cyclic_priority (7) bit (1) unaligned, /* Cyclic priority for adjacent ports */ 1 26 3 type bit (4) unaligned, /* Model number for this controller */ 1 27 3 abs_wired bit (1) unaligned, /* ON if controller can have abs_wired pages */ 1 28 3 program bit (1) unaligned, /* PROGRAM/MANUAL switch setting */ 1 29 3 mbz bit (13) unaligned, 1 30 2 lower_store_size fixed bin (17) unaligned, /* size (in 1024 word blocks) of lower store */ 1 31 2 upper_store_size fixed bin (17) unaligned; /* size (in 1024 word blocks) of upper store */ 1 32 1 33 /* Information about CPUs */ 1 34 1 35 dcl 1 scs$processor_data (0:7) aligned ext, /* information about CPUs in the system */ 1 36 ( 1 37 2 online bit (1), /* "1"b if CPU is online */ 1 38 2 offline bit (1), /* "1"b if CPU is offline but can be added */ 1 39 2 release_mask bit (1), /* "1"b is this CPU is to give up its mask */ 1 40 2 accept_mask bit (1), /* "1"b if this CPU is to grap mask in idle loop */ 1 41 2 delete_cpu bit (1), /* "1"b if this CPU is to delete itself */ 1 42 2 interrupt_cpu bit (1), /* "1"b if this CPU takes hardware interrupts */ 1 43 2 halted_cpu bit (1), /* "1"b if this CPU has stopped itself (going to BOS) */ 1 44 2 cpu_type fixed bin (2) unsigned, /* 0 => DPS or L68, 1 => DPS8 */ 1 45 2 mbz1 bit (6), 1 46 2 cache_size fixed bin (3) unsigned, /* 0 = No cache; 1 = L68 2K cache; 1 47* 2 = DPS8 8K cache; 3 = DPS8 VS&SC 8K cache; 1 48* 4 = DPS8 VS&SC 16K cache; 5 = DPS8 VS&SC 32K cache 1 49* 7 = ignore cache size (set by ISOLTS reconfig) */ 1 50 2 mbz2 bit (12), 1 51 2 expanded_port bit (1), /* "1"b = on expanded port */ 1 52 2 expander_port fixed bin (2) unsigned, /* The actual expander port */ 1 53 2 controller_port fixed bin (3) unsigned 1 54 ) unaligned; /* Port on controller */ 1 55 1 56 dcl 1 scs$port_data (0:7) aligned external static, /* Info about what is connected to each SCU port */ 1 57 2 assigned fixed bin (4) unsigned unaligned, /* Type of device on this port */ 1 58 2 expander_port bit (1) unaligned, /* "1"b => this port has a port expander */ 1 59 2 expanded_cpu (0:3) bit (1) unaligned, /* "1"b => this expander port has a CPU attached */ 1 60 2 iom_number fixed bin (3) unsigned unaligned, /* IOM number of IOM attached to this port */ 1 61 2 cpu_number (0:3) fixed bin (3) unsigned unaligned, /* CPU number of CPU(s) attached to this port */ 1 62 /* cpu_number (0) is only one if expander_port is "0"b */ 1 63 2 pad bit (12) unaligned; 1 64 1 65 dcl 1 scs$cow (0:7) aligned external, /* Actual connect words */ 1 66 2 pad bit (36) aligned, /* Expander COW's must be odd-word */ 1 67 2 cow, 1 68 3 sub_mask bit (8) unaligned, /* Expander sub-port mask */ 1 69 3 mbz1 bit (13) unaligned, 1 70 3 expander_command bit (3) unaligned, /* Expander command. */ 1 71 3 mbz2 bit (2) unaligned, 1 72 3 expanded_port bit (1) unaligned, /* "1"b = on expanded port */ 1 73 3 expander_port fixed bin (3) unsigned unaligned, /* Port on expander for cioc */ 1 74 3 mbz3 bit (3) unaligned, 1 75 3 controller_port fixed bin (3) unaligned unsigned;/* controller port for this CPU */ 1 76 1 77 dcl 1 scs$cow_ptrs (0:7) external aligned, /* Pointers to COW's */ 1 78 2 rel_cow_ptr bit (18) unal, /* Relative pointer to COW */ 1 79 2 pad bit (12) unal, 1 80 2 tag bit (6) unal; /* Better be zero. */ 1 81 1 82 dcl 1 scs$reconfig_general_cow aligned external, /* Used during reconfig ops. */ 1 83 2 pad bit (36) aligned, 1 84 2 cow, /* Connect operand word, in odd location. */ 1 85 3 sub_mask bit (8) unaligned, /* Expander sub-port mask */ 1 86 3 mbz1 bit (13) unaligned, 1 87 3 expander_command bit (3) unaligned, /* Expander command. */ 1 88 3 mbz2 bit (9) unaligned, 1 89 3 controller_port fixed bin (3) unaligned unsigned;/* controller port for this CPU */ 1 90 1 91 /* MASKS and PATTERNS */ 1 92 1 93 dcl scs$sys_level bit (72) aligned ext; /* mask used while handling I/O interrupts */ 1 94 dcl scs$open_level bit (72) aligned ext; /* mask used during normal operation */ 1 95 dcl scs$processor_start_mask bit (72) aligned ext; /* mask used when starting up a CPU */ 1 96 dcl scs$cpu_test_mask bit (72) aligned ext; /* mask used for ISOLTS CPU testing */ 1 97 dcl scs$number_of_masks fixed bin ext; /* number of masks (starting at sys_level) */ 1 98 dcl scs$processor_start_pattern bit (36) aligned ext; /* SMIC pattern used to send processor start interrupt */ 1 99 dcl scs$cpu_test_pattern bit (36) aligned ext; /* SMIC pattern used for ISOLTS processor testing */ 1 100 1 101 /* CAM and CACHE clear info */ 1 102 1 103 dcl scs$cam_pair fixed bin (71) ext; /* instructions XEDd when CAMing and clearing CACHE */ 1 104 dcl scs$cam_wait bit (8) aligned ext; /* Used when evicting pages from main memory */ 1 105 1 106 /* MASKING INSTRUCTIONS & POINTERS */ 1 107 1 108 dcl scs$set_mask (0:7) bit (36) aligned ext; /* instructions to set mask (STAQ or SMCM) */ 1 109 dcl scs$read_mask (0:7) bit (36) aligned ext; /* instructions to read mask (LDAQ or RMCM) */ 1 110 dcl scs$mask_ptr (0:7) ptr unaligned ext; /* pointers for real or simulated masks */ 1 111 1 112 /* MISCELLANEOUS */ 1 113 1 114 dcl 1 scs$processor_test_data aligned ext, /* info used for cpu testing */ 1 115 ( 1 116 2 active bit (1), /* = "1"b if cpu currently under test */ 1 117 2 scu_state bit (2), /* state of scu being used for testing (see definition below) */ 1 118 2 pad1 bit (4), 1 119 2 req_mem fixed bin (10), /* dedicated memory required to test this cpu */ 1 120 2 cpu_tag fixed bin (5), /* tag of cpu under test */ 1 121 2 scu_tag fixed bin (5), /* tag of scu being used for cpu testing */ 1 122 2 mask_cpu fixed bin (5) 1 123 ) unaligned; /* tag of active cpu that has mask asigned to above scu */ 1 124 1 125 /* scu_state = "00"b => SCU defined by scs$processor_test_data.scu_tag not yet effected */ 1 126 /* scu_state = "01"b => all core removed from SCU, port mask not yet changed */ 1 127 /* scu_state = "10"b => all core removed from SCU, port mask changed */ 1 128 /* scu_state = "11"b => only 64k at base of SCU being used for testing, original port mask restored */ 1 129 1 130 dcl scs$idle_aptep (0:7) ptr unaligned ext; /* pointer to idle process APTE for each processor */ 1 131 1 132 dcl scs$connect_lock bit (36) aligned ext; /* lock for sending connects */ 1 133 dcl scs$reconfig_lock bit (36) aligned ext; /* Lock used during reconfiguration */ 1 134 dcl scs$trouble_flags bit (8) aligned ext; /* checkoff flags for sys_trouble stopping */ 1 135 dcl scs$bos_restart_flags bit (8) aligned ext; /* checkoff flags for restarting after sys_trouble */ 1 136 dcl scs$nprocessors fixed bin ext; /* number of runnung processors */ 1 137 dcl scs$bos_processor_tag fixed bin (3) ext; /* CPU tag of processor running BOS */ 1 138 dcl scs$faults_initialized bit (1) aligned ext; /* ON after faults have been enabled */ 1 139 dcl scs$sys_trouble_pending bit (1) aligned ext; /* sys_trouble event is pending in the system */ 1 140 dcl scs$fast_cam_pending (0:7) bit (36) aligned ext; /* checkoff cells for cam connect */ 1 141 dcl scs$interrupt_controller fixed bin (3) ext; /* port number of low order controller */ 1 142 dcl scs$processor_start_int_no fixed bin (5) ext; /* interrupt cell for starting a processor */ 1 143 dcl scs$processor bit (8) aligned ext; /* bits ON for online CPUs */ 1 144 dcl scs$processor_start_wait bit (8) aligned ext; /* checkoff flags for waiting for new processor */ 1 145 1 146 dcl scs$trouble_dbrs (0:7) fixed bin (71); /* DBR values at system crash time */ 1 147 1 148 dcl scs$port_addressing_word (0:7) bit (3) aligned ext; /* active module port number for each controller */ 1 149 1 150 dcl scs$cfg_data (0:7) fixed bin (71) aligned ext; /* RSCR-CFG data from each controller */ 1 151 1 152 dcl scs$cfg_data_save fixed bin (71) aligned ext; /* RSCR-CFG save area for ISOLTS CPU testing */ 1 153 1 154 dcl scs$expanded_ports bit (1) unaligned dim (0:7) external; 1 155 /* Which ports have expanders */ 1 156 1 157 dcl scs$processor_switch_data (0:4) bit (36) aligned ext; /* raw data from RSW 0 thru 4 */ 1 158 dcl scs$processor_switch_template (0:4) bit (36) aligned ext; /* expected data from RSW 0 thru 4 */ 1 159 dcl scs$processor_switch_compare (0:4) bit (36) aligned ext; /* discrepancies from expected data */ 1 160 dcl scs$processor_switch_mask (0:4) bit (36) aligned ext; /* masks for comparing switch data */ 1 161 1 162 dcl scs$processor_data_switch_value bit (36) aligned ext; /* Correct value for CPU data switches */ 1 163 1 164 dcl scs$controller_config_size (0:7) fixed bin (14) aligned ext; 1 165 /* Controller size on config card */ 1 166 1 167 dcl scs$reconfig_locker_id char (32) aligned ext; /* process group ID of process doing reconfiguration */ 1 168 1 169 dcl scs$scas_page_table (0:31) bit (36) aligned external static; 1 170 /* PTWs for SCAS pages */ 1 171 1 172 dcl scs$cycle_priority_template bit (7) aligned ext; /* template for setting anti-hog switches */ 1 173 dcl scs$set_cycle_switches bit (1) aligned ext; /* flag to set ant-hog switches */ 1 174 1 175 1 176 dcl ( 1 177 IOM_PORT init (1), 1 178 CPU_PORT init (2), 1 179 BULK_PORT init (3) 1 180 ) fixed bin int static options (constant); /* values for scs$port_data.assigned */ 1 181 1 182 1 183 /* END INCLUDE FILE scs.incl.pl1 */ 519 520 521 /* */ 522 2 1 2 2 /* Begin include file ...... rcerr.incl.pl1 */ 2 3 /* These are the reconfiguration error codes. */ 2 4 /* Created 4/5/76 by Noel I. Morris */ 2 5 /* Modified 5/25/78 by J. A. Bush to add ISOLTS reconfig error codes */ 2 6 /* Modified 5/79 by BSG for port expander */ 2 7 2 8 2 9 /****^ HISTORY COMMENTS: 2 10* 1) change(88-07-27,Farley), approve(88-10-05,MCR7968), 2 11* audit(88-10-10,Beattie), install(88-10-14,MR12.2-1166): 2 12* Added new rcerr_addscu_memoverlap error code. 2 13* END HISTORY COMMENTS */ 2 14 2 15 2 16 dcl (rcerr_addcpu_no_response init (1), /* no response from CPU */ 2 17 rcerr_addcpu_bad_switches init (2), /* CPU config switches set improperly */ 2 18 rcerr_addcpu_trouble init (3), /* trouble fault adding CPU */ 2 19 rcerr_addcpu_startup init (4), /* startup fault adding CPU */ 2 20 rcerr_addcpu_lockup init (5), /* lockup fault adding CPU */ 2 21 rcerr_addcpu_gcos init (6), /* attempt to add processor in GCOS mode */ 2 22 rcerr_addcpu_amoff init (7), /* attempt to add processor with assoc mem off */ 2 23 rcerr_addcpu_enable init (8) /* controller port for CPU not enabled */ 2 24 ) fixed bin static options (constant); 2 25 2 26 dcl (rcerr_delcpu_no_stop init (1), /* CPU did not stop running */ 2 27 rcerr_delcpu_last init (2), /* attempt to delete last CPU */ 2 28 rcerr_delcpu_no_good_blcpu init (3) /* no suitable bootload CPU left */ 2 29 ) fixed bin static options (constant); 2 30 2 31 dcl (rcerr_addscu_size init (1), /* memory size discrepancy */ 2 32 rcerr_addscu_dup_mask init (2), /* duplicate mask assignment */ 2 33 rcerr_addscu_no_mask init (3), /* no mask assigned to CPU */ 2 34 rcerr_addscu_bad_mask init (4), /* mask assigned to non-CPU port */ 2 35 rcerr_addscu_fault init (5), /* fault trying to add controller */ 2 36 rcerr_addscu_switches init (6), /* some active module has incorrect switches */ 2 37 rcerr_addscu_enable init (7), /* some active module not enabled */ 2 38 rcerr_addscu_manual init (8), /* 4MW SCU is in manual mode */ 2 39 rcerr_addscu_oldexpand init (9), /* Adding 6000 SCU with port expander */ 2 40 rcerr_addscu_bigconfig init (10), /* SCU has less memory than config cards say */ 2 41 rcerr_addscu_memoverlap init (11) /* SCU has possible memory address overlap */ 2 42 ) fixed bin static options (constant); 2 43 2 44 dcl (rcerr_delmain_nomem init (1), /* not enough main memory left */ 2 45 rcerr_delmain_abs_wired init (2) /* abs wired pages in memory */ 2 46 ) fixed bin static options (constant); 2 47 2 48 dcl (rcerr_locked init (12), /* database already locked */ 2 49 rcerr_online init (13), /* device already online */ 2 50 rcerr_no_config init (14), /* device not in configuration */ 2 51 rcerr_not_online init (15), /* device not online */ 2 52 rcerr_range init (16), /* request is out of range */ 2 53 rcerr_sprq_failed init (17) /* could not set CPU required */ 2 54 2 55 ) fixed bin static options (constant); 2 56 2 57 dcl (rcerr_isolts_locked init (1), /* reconfig_lock locked to another process */ 2 58 rcerr_isolts_illegal_cpu init (2), /* illegal cpu tag */ 2 59 rcerr_isolts_cpu_online init (3), /* requested cpu is online */ 2 60 rcerr_isolts_no_config init (4), /* requested cpu is not configured */ 2 61 rcerr_isolts_two_scu init (5), /* Must have at least two SCUs to run ISOLTS */ 2 62 rcerr_isolts_illegal_scu init (6), /* illegal scu tag */ 2 63 rcerr_isolts_bootload_scu init (7), /* requested scu is the bootload memory */ 2 64 rcerr_isolts_scu_not init (8), /* requested scu is not configured */ 2 65 rcerr_isolts_not init (9), /* requesting process is not ISOLTS process */ 2 66 rcerr_isolts_wrong_cell init (10), /* interrupt answered in correct scu but wrong cell */ 2 67 rcerr_isolts_wrong_scu init (11), /* interrupt answered in wrong scu */ 2 68 rcerr_isolts_wrong_scu_cell init (12), /* interrupt answered in wrong scu on wrong cell */ 2 69 rcerr_isolts_no_response init (13), /* No response to a processor start interrupt */ 2 70 rcerr_isolts_bad_switches init (14), /* read switch data is not in expected format */ 2 71 rcerr_isolts_lda_fail init (15), /* A LDA 2 did not operate correctly */ 2 72 rcerr_isolts_no_str_flt init (16), /* No store falt when a LDA 64k was executed */ 2 73 rcerr_isolts_no_mask init (17) /* No mask set for test cpu */ 2 74 ) fixed bin static options (constant); 2 75 2 76 dcl 1 switch_w1 aligned based, /* template for switch word 1, when containing diagnostic info */ 2 77 (2 cell fixed bin (5), /* interrupt cell being used */ 2 78 2 errtag fixed bin (5), /* tag of scu in error */ 2 79 2 valid bit (1), /* if on then offset field is valid */ 2 80 2 pad bit (5), 2 81 2 offset bit (18)) unaligned; /* offset of error if any */ 2 82 2 83 /* End of include file ...... rcerr.incl.pl1 */ 2 84 523 524 3 1 3 2 /* Begin include file ...... rci.incl.pl1 */ 3 3 /* modified 8/77 for 8 CPU's */ 3 4 3 5 dcl rcip ptr; /* pointer to structure */ 3 6 3 7 dcl 1 rci aligned based (rcip), /* for communication between reconfigure and reconfig */ 3 8 2 locker_group_id char (32), /* process group id of locking process */ 3 9 2 controller_data (0: 7) aligned like scs$controller_data, 3 10 2 processor_data (0: 7) aligned like scs$processor_data; 3 11 3 12 3 13 /* End of include file ...... rci.incl.pl1 */ 3 14 525 526 527 /* */ 528 4 1 /* *********************************************************** 4 2* * * 4 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4 4* * * 4 5* *********************************************************** */ 4 6 /* Begin include file ...... rsw.incl.pl1 4 7* Modified 3/26/77 by Noel I. Morris 4 8* Modified 9/03/80 by J. A. Bush for the DPS8/70M CPU 4 9* Modified 3/24/82 by J. A. Bush to allow the L68 CPU to address 4MW/port */ 4 10 4 11 dcl rswp ptr; 4 12 4 13 dcl 1 dps_rsw_2 aligned based (rswp), /* rsw 2 template for DPS and L68 CPUs */ 4 14 (2 pad1 bit (4), 4 15 2 cpu_type fixed bin (2) unsigned, /* 0 = L68 or DPS, 1 = DPS8 */ 4 16 2 fault_base bit (7), /* high order bits of fault vector */ 4 17 2 pad2 bit (6), 4 18 2 dps_option bit (1), /* "1"b => DPS CPU, "0"b => L68 CPU */ 4 19 2 pad3 bit (7), 4 20 2 cache2 bit (1), /* "1"b => 2k cache installed, "0"b => no cache */ 4 21 2 ext_gcos bit (1), /* "1"b => ext gcos option installed */ 4 22 2 id bit (4), /* CPU ID - "1110"b => L68 */ 4 23 2 cpu_num fixed bin (3) unsigned) unaligned; /* processor number */ 4 24 4 25 dcl 1 dps8_rsw_2 aligned based (rswp), /* rsw 2 template for DPS8 CPUs */ 4 26 (2 interlace_info (0:3) bit (1), /* if interlace enabled; "0"b => 4-word, "1"b => 2-word */ 4 27 2 cpu_type fixed bin (2) unsigned, /* 0 = L68 or DPS, 1 = DPS8 */ 4 28 2 fault_base bit (7), /* high order bits of fault vector */ 4 29 2 id_prom bit (1), /* "1"b => id_prom present */ 4 30 2 pad1 bit (5), 4 31 2 dps_option bit (1), /* always "1"b for DPS8 CPU */ 4 32 2 cache8 bit (1), /* "1"b => 8k cache installed, "0"b => no cache */ 4 33 2 pad2 bit (2), 4 34 2 multics_cpu bit (1), /* always "1"b for Multics cpu */ 4 35 2 pad3 bit (5), 4 36 2 cpu_speed bit (4), /* cpu speed options */ 4 37 2 cpu_num fixed bin (3) unsigned) unaligned; /* processor number */ 4 38 4 39 dcl 1 rsw_1_3 aligned based (rswp), /* rsw 3 only valid on DPS and L68 CPUs */ 4 40 (2 port_info (0:3), /* controller port information */ 4 41 3 port_assignment bit (3), /* port address assignment */ 4 42 3 port_enable bit (1), /* "1"b => port enabled */ 4 43 3 initialize_enable bit (1), /* "1"b => system initialize enabled */ 4 44 3 interlace_enable bit (1), /* "1"b => port is interlaced with neighbor */ 4 45 3 mem_size fixed bin (3) unsigned) unaligned; /* encoded memory size on port */ 4 46 4 47 dcl 1 rsw_4 aligned based (rswp), /* rsw 4 only valid on DPS and L68 CPUs */ 4 48 (2 pad1 bit (13), 4 49 2 port_info (0:7), /* additional controller port information */ 4 50 3 four bit (1), /* "0"b => 4-word interlace - "1"b => 2-word interlace */ 4 51 3 half bit (1), /* "1"b => only half of memory on controller in use */ 4 52 2 pad2 bit (7)) unaligned; 4 53 4 54 dcl dps_mem_size_table (0:7) fixed bin (24) static options (constant) init /* DPS and L68 memory sizes */ 4 55 (32768, 65536, 4194304, 131072, 524288, 1048576, 2097152, 262144); 4 56 4 57 /* Note that the third array element above, is changed incompatibly in MR10.0. 4 58* In previous releases, this array element was used to decode a port size of 4 59* 98304 (96K). With MR10.0 it is now possible to address 4MW per CPU port, by 4 60* installing FCO # PHAF183 and using a group 10 patch plug, on L68 and DPS CPUs. 4 61**/ 4 62 4 63 dcl dps8_mem_size_table (0:7) fixed bin (24) static options (constant) init /* DPS8 memory sizes */ 4 64 (32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304); 4 65 4 66 dcl rsw_valid (0:1) fixed bin static options (constant) init (5, 3); /* # of rsw valid per cpu type */ 4 67 4 68 /* End of include file ...... rsw.incl.pl1 */ 529 530 531 dcl pip ptr; 532 533 dcl 1 pi like rsw_1_3.port_info based (pip) unal; 534 535 /* BEGIN MESSAGE DOCUMENTATION 536* 537* Message: 538* Added SCU X and its memory. 539* 540* S: $initializer_io 541* 542* T: $response 543* 544* M: This is the response to a successful addmem X command. 545* 546* A: $ignore 547* 548* 549* Message: 550* Added SCU's X and Y (interlaced) and their memory. 551* 552* S: $initializer_io 553* 554* T: $response 555* 556* M: This is the response to a successful addmem X command 557* when SCU's X and Y have their memories interlaced. 558* 559* A: $ignore 560* 561* 562* Message: 563* Added frame XXX. 564* 565* S: $initializer_io 566* 567* T: $response 568* 569* M: This is the response to a successful addmain XXX command. 570* 571* A: $ignore 572* 573* 574* Message: 575* Added frames XXX thru YYY. 576* 577* S: $initializer_io 578* 579* T: $response 580* 581* M: This is the response to a successful addmain XXX N command. 582* 583* A: $ignore 584* 585* 586* Message: 587* CPU X is now running. 588* 589* S: $initializer_io 590* 591* T: $response 592* 593* M: This is the response to a 594* successful addcpu X command. 595* 596* A: $ignore 597* 598* 599* Message: 600* Deleted CPU X. 601* 602* S: $initializer_io 603* 604* T: $response 605* 606* M: This is the response to a successful delcpu X command. 607* 608* A: $ignore 609* 610* 611* Message: 612* Removed SCU X and its memory. 613* 614* S: $initializer_io 615* 616* T: $response 617* 618* M: This is the response to a successful delmem X command. 619* 620* A: $ignore 621* 622* 623* Message: 624* Removed SCU's X and Y (interlaced) and their memory. 625* 626* S: $initializer_io 627* 628* T: $response 629* 630* M: This is the response to a successful delmem X command, when SCU's X and Y are interlaced. 631* 632* A: $ignore 633* 634* 635* Message: 636* Removed frame XXX. 637* 638* S: $initializer_io 639* 640* T: $response 641* 642* M: This is the response to a successful delmain XXX command. 643* 644* A: $ignore 645* 646* 647* Message: 648* Removed frames XXX thru YYY. 649* 650* S: $initializer_io 651* 652* T: $response 653* 654* M: This is the response to a successful delmain XXX N command. 655* 656* A: $ignore 657* 658* 659* Message: 660* addcpu: Associative memories not enabled on CPU X. 661* 662* S: $initializer_io 663* 664* T: $response 665* 666* M: The SDWAM and/or PTWAM on CPU X is not enabled. 667* CPU X was not added. 668* 669* A: Set the appropriate associative memory switch on and try addcpu again. 670* 671* 672* Message: 673* addcpu: CPU X is already online. 674* 675* S: $initializer_io 676* 677* T: $response 678* 679* M: A redundant addcpu X command was issued. 680* No action was taken. 681* 682* A: $tryagn 683* 684* 685* Message: 686* addcpu: CPU X is not configured. 687* 688* S: $initializer_io 689* 690* T: $response 691* 692* M: There is no CPU card for CPU X in the configuration deck. 693* The CPU cannot be added. 694* 695* A: If the CPU name was mistyped, enter a corrected command. 696* If the configuration deck omitted the CPU card, 697* that CPU cannot be added until the system is shut down and the deck corrected. 698* 699* 700* Message: 701* addcpu: CPU X is not enabled at MEM Y. 702* 703* S: $initializer_io 704* 705* T: $response 706* 707* M: CPU X cannot be added because the PORT ENABLE switch at MEM Y does not enable it. 708* 709* A: Fix the switches and try addcpu again. 710* 711* 712* Message: 713* addcpu: CPU X is not in Multics mode. 714* 715* S: $initializer_io 716* 717* T: $response 718* 719* M: CPU X cannot be added because its mode switch is wrong. 720* 721* A: Fix the switch and try again. 722* 723* 724* Message: 725* addcpu: Illegal command or subroutine argument. BLAH 726* 727* S: $initializer_io 728* 729* T: $response 730* 731* M: Invalid input was typed. 732* 733* A: $tryagn 734* 735* 736* Message: 737* addcpu: Lockup fault trying to start CPU X. 738* 739* S: $initializer_io 740* 741* T: $response 742* 743* M: This happens occasionally. The reason for it is unknown. 744* 745* A: Try addcpu a few more times. 746* 747* 748* Message: 749* addcpu: No response from CPU X. 750* 751* S: $initializer_io 752* 753* T: $response 754* 755* M: CPU X did not start up when commanded. 756* It may be malfunctioning or in STEP. 757* 758* A: Check the switches. 759* If any are wrong, correct them and retry addcpu. 760* Otherwise, notify Field Engineering. 761* 762* 763* Message: 764* addcpu: Reconfiguration database is locked. 765* 766* S: $initializer_io 767* 768* T: $response 769* 770* M: Another process is performing reconfiguration currently, 771* or a fault during reconfiguration has left the reconfiguration tables locked. 772* 773* A: If it is certain that no other process is reconfiguring, 774* and that the fault which interrupted reconfiguration 775* has been cured, the reconfigure$force_unlock command may be used to clear the lock 776* at the direction of system staff. 777* 778* 779* Message: 780* addcpu: Startup fault trying to start CPU X. 781* 782* S: $initializer_io 783* 784* T: $response 785* 786* M: This happens sometimes. Nobody knows why. 787* 788* A: Try again a few times. 789* 790* 791* Message: 792* addcpu: The following switches on CPU X are set incorrectly: 793* .br 794* Fault Base 795* .br 796* Processor Number 797* .br 798* Port Assignment MEM Y 799* .br 800* Port Enable MEM Y 801* .br 802* Interlace MEM Y 803* .br 804* Size MEM Y 805* .br 806* Half/Full MEM Y 807* 808* S: $initializer_io 809* 810* T: $response 811* 812* M: The listed switches are set incorrectly. 813* 814* A: Correct the switches and try addcpu again. 815* 816* 817* Message: 818* addcpu: Trouble fault trying to start CPU X. 819* 820* S: $initializer_io 821* 822* T: $response 823* 824* M: This happens sometimes. Nobody knows why. 825* 826* A: Try again a few times. 827* 828* 829* Message: 830* addcpu: Wrong number of arguments supplied. 831* 832* S: $initializer_io 833* 834* T: $response 835* 836* M: Invalid input was typed. 837* 838* A: $tryagn 839* 840* 841* Message: 842* addmain: Illegal command or subroutine argument. BLAH 843* 844* S: $initializer_io 845* 846* T: $response 847* 848* M: Invalid input was typed. 849* 850* A: $tryagn 851* 852* 853* Message: 854* addmain: Reconfiguration database is locked. 855* 856* S: $initializer_io 857* 858* T: $response 859* 860* M: Another process is performing reconfiguration currently, 861* or a fault during reconfiguration has left the reconfiguration tables locked. 862* 863* A: If it is certain that no other process is reconfiguring, 864* and that the fault which interrupted reconfiguration 865* has been cured, the reconfigure$force_unlock command may be used to clear the lock 866* at the direction of system staff. 867* 868* 869* Message: 870* addmain: Request is not within range of a single controller. MAIN XXX 871* 872* S: $initializer_io 873* 874* T: $response 875* 876* M: An addmain command must specify memory completely within the range of a single controller. 877* 878* A: $tryagn 879* 880* 881* Message: 882* addmain: Wrong number of arguments supplied. 883* 884* S: $initializer_io 885* 886* T: $response 887* 888* M: Invalid input was typed. 889* 890* A: $tryagn 891* 892* 893* Message: 894* addmem: Illegal command or subroutine argument. BLAH 895* 896* S: $initializer_io 897* 898* T: $response 899* 900* M: Invalid input was typed. 901* 902* A: $tryagn 903* 904* 905* Message: 906* addmem: MEM Y cannot be accessed by CPU X. 907* 908* S: $initializer_io 909* 910* T: $response 911* 912* M: CPU X is unable to access MEM Y. 913* The configuration deck may be incorrect, 914* or the CPU and SCU switches may be in the wrong settings. 915* 916* A: Check the switches and make sure that they agree with the configuration deck. 917* Then try addmem again. 918* 919* 920* Message: 921* addmem: MEM Y does not have mask assigned to CPU X. 922* 923* S: $initializer_io 924* 925* T: $response 926* 927* M: The MASK/PORT ASSIGNMENT (4MW SCU) 928* or EXECUTE INTERRUPT MASK ASSIGNMENT (6000 SCU) 929* switches on SCU Y are incorrect. 930* 931* A: Fix the switches and try addmem again. 932* 933* 934* Message: 935* addmem: MEM Y has duplicate mask assignments to CPU X. 936* 937* S: $initializer_io 938* 939* T: $response 940* 941* M: The MASK/PORT ASSIGNMENT (4MW SCU) 942* or EXECUTE INTERRUPT MASK ASSIGNMENT (6000 SCU) 943* switches on SCU Y are incorrect. 944* 945* A: Fix the switches and try addmem again. 946* 947* 948* Message: 949* addmem: MEM Y has mask Z assigned to non-CPU port. 950* 951* S: $initializer_io 952* 953* T: $response 954* 955* M: The MASK/PORT ASSIGNMENT (4MW SCU) 956* or EXECUTE INTERRUPT MASK ASSIGNMENT (6000 SCU) 957* switches on SCU Y are incorrect. 958* 959* A: Fix the switches and try addmem again. 960* 961* 962* Message: 963* addmem: MEM Y is already online. 964* 965* S: $initializer_io 966* 967* T: $response 968* 969* M: An addmem Y command was typed when SCU Y was already online. 970* 971* A: $ignore 972* 973* 974* Message: 975* addmem: MEM Y is not configured. 976* 977* S: $initializer_io 978* 979* T: $response 980* 981* M: There is no MEM card in the configuration for MEM y. 982* The SCU cannot be added. 983* 984* A: If the SCU name was mistyped, enter a corrected command. 985* If the configuration deck omitted the MEM card, 986* the SCU cannot be added until the system is shut down and the deck corrected. 987* 988* 989* Message: 990* addmem: MEM Y is not enabled on CPU X. 991* 992* S: $initializer_io 993* 994* T: $response 995* 996* M: The ENABLE switch on the CONFIGURATION panel of CPU X 997* does not enable SCU Y. 998* The memory cannot be added. 999* 1000* A: Fix the switches and try addmem again. 1001* 1002* 1003* Message: 1004* addmem: MEM Y is not in PROGRAM mode. 1005* 1006* S: $initializer_io 1007* 1008* T: $response 1009* 1010* M: The MODE switch on 4MW SCU Y is not in PROGRAM mode. 1011* The SCU cannot be added. 1012* 1013* A: Fix the switches and try addmem again. 1014* 1015* A: $ignore 1016* 1017* 1018* Message: 1019* addmem: Reconfiguration database is locked. 1020* 1021* S: $initializer_io 1022* 1023* T: $response 1024* 1025* M: Another process is performing reconfiguration currently, 1026* or a fault during reconfiguration has left the reconfiguration tables locked. 1027* 1028* A: If it is certain that no other process is reconfiguring, 1029* and that the fault which interrupted reconfiguration 1030* has been cured, the reconfigure$force_unlock command may be used to clear the lock 1031* at the direction of system staff. 1032* 1033* 1034* Message: 1035* addmem: Size of MEM Y disagrees with CPU switches. 1036* 1037* S: $initializer_io 1038* 1039* T: $response 1040* 1041* M: The memory size on the configuration card for MEM Y 1042* disagrees with the size on the CPU switches. 1043* 1044* A: If the switches are incorrect, fix them and try addmem again. 1045* If the configuration deck is incorrect, 1046* the system must be shut down and the deck corrected before the SCU can be added. 1047* 1048* 1049* Message: 1050* addmem: Switches for MEM Y set improperly on CPU X. 1051* 1052* S: $initializer_io 1053* 1054* T: $response 1055* 1056* M: The ADDRESS ASSIGNMENT switches for SCU Y are 1057* incorrect on CPU X. 1058* 1059* A: Correct the switches and try addmem again. 1060* 1061* 1062* Message: 1063* addmem: Wrong number of arguments supplied. 1064* 1065* S: $initializer_io 1066* 1067* T: $response 1068* 1069* M: Invalid input was typed. 1070* 1071* A: $tryagn 1072* 1073* 1074* Message: 1075* delcpu: CPU X is not online. 1076* 1077* S: $initializer_io 1078* 1079* T: $response 1080* 1081* M: A delcpu X command finds that CPU X is already deleted. 1082* 1083* A: $ignore 1084* 1085* 1086* Message: 1087* delcpu: CPU X is the only CPU. 1088* 1089* S: $initializer_io 1090* 1091* T: $response 1092* 1093* M: A delcpu X command attempted to delete the last CPU. 1094* No action was taken. 1095* 1096* A: $ignore 1097* 1098* 1099* Message: 1100* delcpu: Cannot stop CPU X. 1101* 1102* S: $initializer_io 1103* 1104* T: $response 1105* 1106* M: CPU X did not respond to a command to stop within 1107* the expected time. The CPU may be malfunctioning or in STEP, 1108* or it may be in a very tight loop. 1109* 1110* A: Check the CPU panel. 1111* If the processor appears to be in a loop, 1112* it may be possible to break it out 1113* by placing zeros in the processor switches 1114* and using the EXECUTE button to cause a fault; 1115* but this action sometimes causes the system to crash, 1116* depending on where the loop is. 1117* 1118* 1119* Message: 1120* delcpu: Illegal command or subroutine argument. BLAH 1121* 1122* S: $initializer_io 1123* 1124* T: $response 1125* 1126* M: Invalid input was typed. 1127* 1128* A: $tryagn 1129* 1130* 1131* Message: 1132* delcpu: Reconfiguration database is locked. 1133* 1134* S: $initializer_io 1135* 1136* T: $response 1137* 1138* M: Another process is performing reconfiguration currently, 1139* or a fault during reconfiguration has left the reconfiguration tables locked. 1140* 1141* A: If it is certain that no other process is reconfiguring, 1142* and that the fault which interrupted reconfiguration 1143* has been cured, the reconfigure$force_unlock command may be used to clear the lock 1144* at the direction of system staff. 1145* 1146* 1147* Message: 1148* delcpu: Wrong number of arguments supplied. 1149* 1150* S: $initializer_io 1151* 1152* T: $response 1153* 1154* M: Invalid input was typed. 1155* 1156* A: $tryagn 1157* 1158* 1159* Message: 1160* delmain: Abs wired pages in memory. 1161* 1162* S: $initializer_io 1163* 1164* T: $response 1165* 1166* M: A delmain command attempted to delete a range of pages 1167* which included some pages which cannot be deleted. 1168* No action was taken. 1169* 1170* A: $tryagn 1171* 1172* 1173* Message: 1174* delmain: Illegal command or subroutine argument. BLAH 1175* 1176* S: $initializer_io 1177* 1178* T: $response 1179* 1180* M: Invalid input was typed. 1181* 1182* A: $tryagn 1183* 1184* 1185* Message: 1186* delmain: Not enough main memory left. 1187* 1188* S: $initializer_io 1189* 1190* T: $response 1191* 1192* M: A delmain command attempted to delete so much memory that the system would be 1193* unable to function correctly. 1194* No action was taken. 1195* 1196* A: $tryagn 1197* 1198* 1199* Message: 1200* delmain: Reconfiguration database is locked. 1201* 1202* S: $initializer_io 1203* 1204* T: $response 1205* 1206* M: Another process is performing reconfiguration currently, 1207* or a fault during reconfiguration has left the reconfiguration tables locked. 1208* 1209* A: If it is certain that no other process is reconfiguring, 1210* and that the fault which interrupted reconfiguration 1211* has been cured, the reconfigure$force_unlock command may be used to clear the lock 1212* at the direction of system staff. 1213* 1214* 1215* Message: 1216* delmain: Request is not within range of a single controller. MAIN XXX 1217* 1218* S: $initializer_io 1219* 1220* T: $response 1221* 1222* M: A delmain command must specify a range of pages 1223* which lies completely within one controller. 1224* No action was taken. 1225* 1226* A: $tryagn 1227* 1228* 1229* Message: 1230* delmain: Wrong number of arguments supplied. 1231* 1232* S: $initializer_io 1233* 1234* T: $response 1235* 1236* M: Invalid input was typed. 1237* 1238* A: $tryagn 1239* 1240* 1241* Message: 1242* delmem: Abs wired pages in MEM Y. 1243* 1244* S: $initializer_io 1245* 1246* T: $response 1247* 1248* M: An attempt was made to delete a memory 1249* which included some pages which cannot be deleted. 1250* No action was taken. 1251* 1252* A: The memory cannot be deleted. 1253* 1254* 1255* Message: 1256* delmem: Illegal command or subroutine argument. BLAH 1257* 1258* S: $initializer_io 1259* 1260* T: $response 1261* 1262* M: Invalid input was typed. 1263* 1264* A: $tryagn 1265* 1266* 1267* Message: 1268* delmem: MEM Y is not online. 1269* 1270* S: $initializer_io 1271* 1272* T: $response 1273* 1274* M: A delmem Y command was typed but no such memory is in use. 1275* 1276* A: $ignore 1277* 1278* 1279* Message: 1280* delmem: Not enough main memory to remove MEM Y. 1281* 1282* S: $initializer_io 1283* 1284* T: $response 1285* 1286* M: The system would be unable to function 1287* correctly if SCU Y and its memory were deleted. 1288* No action was taken. 1289* 1290* A: Try something else. 1291* 1292* 1293* Message: 1294* delmem: Reconfiguration database is locked. 1295* 1296* S: $initializer_io 1297* 1298* T: $response 1299* 1300* M: Another process is performing reconfiguration currently, 1301* or a fault during reconfiguration has left the reconfiguration tables locked. 1302* 1303* A: If it is certain that no other process is reconfiguring, 1304* and that the fault which interrupted reconfiguration 1305* has been cured, the reconfigure$force_unlock command may be used to clear the lock 1306* at the direction of system staff. 1307* 1308* 1309* Message: 1310* delmem: Wrong number of arguments supplied. 1311* 1312* S: $initializer_io 1313* 1314* T: $response 1315* 1316* M: Invalid input was typed. 1317* 1318* A: $tryagn 1319* 1320* 1321* Message: 1322* unlock: Reconfiguration data locked by PERSON.PROJ.T 1323* 1324* S: $initializer_io 1325* 1326* T: $response 1327* 1328* M: This message is typed by reconfigure$force_unlock if the reconfiguration data base was locked. 1329* 1330* A: $ignore 1331* 1332* 1333* Message: 1334* unlock: Reconfiguration data not locked. 1335* 1336* S: $initializer_io 1337* 1338* T: $response 1339* 1340* M: This message is typed by reconfigure$force_unlock if the reconfiguration data base was not locked. 1341* 1342* A: $ignore 1343* 1344* 1345* END MESSAGE DOCUMENTATION */ 1346 1347 end reconfigure; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/17/89 1342.6 obs_reconfigure.pl1 >spec>install>1005>obs_reconfigure.pl1 519 1 10/12/83 0943.5 scs.incl.pl1 >ldd>include>scs.incl.pl1 523 2 10/18/88 1206.7 rcerr.incl.pl1 >ldd>include>rcerr.incl.pl1 525 3 09/15/77 1604.1 rci.incl.pl1 >ldd>include>rci.incl.pl1 529 4 06/10/82 1045.2 rsw.incl.pl1 >ldd>include>rsw.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. TAGS 000000 constant char(1) initial array dcl 80 set ref 162 212 354* 354* 356* 389 437 abort_code parameter fixed bin(35,0) dcl 501 set ref 498 503 503* 505 505 507 action parameter char packed unaligned dcl 350 in procedure "print_mem_message" set ref 347 354* 356* action parameter char packed unaligned dcl 327 in procedure "print_main_message" set ref 324 329* 331* addr builtin function dcl 94 ref 135 141 143 143 145 145 304 304 arg 000102 automatic varying char(16) dcl 51 set ref 167* 190* 418* 433* 437* 444* 450* 457* 503* 505* 507* arg2 000107 automatic varying char(256) dcl 52 set ref 162* 212* 376* 376 378* 378 386* 386 388* 388 389* 389 390* 390 391* 391 419* 507* auto_rci 000232 automatic structure level 1 dcl 66 set ref 304 304 chan_num 000210 automatic fixed bin(35,0) dcl 53 set ref 470* chanid 000212 automatic char(8) dcl 54 set ref 473* code 000226 automatic fixed bin(35,0) dcl 62 set ref 133* 134 160 164 164* 186* 187 187* 210* 211 212 212 214* 235* 236 236* 259* 260 260* 284* 285 285* 304* 305 416* 425* 426 426* 432* 443* 445* 446 449* 451* 452 463* 464 464* 470* 471 471* com_err_ 000042 constant entry external dcl 112 ref 305 307 503 505 507 cpu_num 0(33) based fixed bin(3,0) level 2 packed packed unsigned unaligned dcl 4-13 ref 138 cu_$arg_count 000036 constant entry external dcl 110 ref 425 cu_$arg_ptr 000034 constant entry external dcl 109 ref 432 443 449 463 cv_dec_check_ 000010 constant entry external dcl 85 ref 470 cv_oct_check_ 000040 constant entry external dcl 111 ref 445 451 devtype 000010 constant char(4) initial array dcl 77 ref 437 457 dps_rsw_2 based structure level 1 dcl 4-13 error_table_$bad_arg 000016 external static fixed bin(35,0) dcl 90 set ref 435* 446* 452* 466* 468* error_table_$wrong_no_of_args 000014 external static fixed bin(35,0) dcl 88 set ref 430* 441* 461* errtag 000227 automatic fixed bin(3,0) dcl 63 set ref 161* 162 210* 212 fault_base 0(06) based bit(7) level 2 packed packed unaligned dcl 4-13 ref 136 first 000221 automatic fixed bin(17,0) dcl 57 set ref 259* 284* 329 329* 331* 445* 458 four 0(13) based bit(1) array level 3 packed packed unaligned dcl 4-47 ref 151 half 0(14) based bit(1) array level 3 packed packed unaligned dcl 4-47 ref 155 hphcs_$add_cpu 000020 constant entry external dcl 103 ref 133 hphcs_$add_main 000030 constant entry external dcl 107 ref 259 hphcs_$add_scu 000024 constant entry external dcl 105 ref 210 hphcs_$del_cpu 000022 constant entry external dcl 104 ref 186 hphcs_$del_main 000032 constant entry external dcl 108 ref 284 hphcs_$del_scu 000026 constant entry external dcl 106 ref 235 hphcs_$rc_force_unlock 000046 constant entry external dcl 114 ref 309 hphcs_$reconfig_info 000044 constant entry external dcl 113 ref 304 i 000312 automatic fixed bin(17,0) dcl 67 set ref 142* 143 143 145 151 155* 389 index builtin function dcl 94 ref 434 ioa_ 000050 constant entry external dcl 115 ref 167 190 329 331 354 356 423 iox_$control 000052 constant entry external dcl 116 ref 421 iox_$user_output 000054 external static pointer dcl 118 set ref 421* lace 000220 automatic bit(1) dcl 56 set ref 210* 235* 352 last 000222 automatic fixed bin(17,0) dcl 58 set ref 329 329* 458* locker_group_id 000232 automatic char(32) level 2 dcl 66 set ref 307* mess parameter char packed unaligned dcl 374 ref 371 378 383 391 mod builtin function dcl 94 ref 353 my_new_name 000021 constant char(16) initial array dcl 74 set ref 423* myname 000055 constant char(8) initial array dcl 72 set ref 305* 307* 423* 503* 505* 507* n_args 000224 automatic fixed bin(17,0) dcl 60 set ref 425* 430 441 441 448 461 n_frames 000223 automatic fixed bin(17,0) dcl 59 set ref 259* 284* 451* 452 455* 458 null builtin function dcl 94 ref 421 421 pi based structure level 1 packed packed unaligned dcl 533 pip 000316 automatic pointer dcl 531 set ref 143* 145* 147 149 151 153 port_info 0(13) based structure array level 2 in structure "rsw_4" packed packed unaligned dcl 4-47 in procedure "reconfigure" port_info based structure array level 2 in structure "rsw_1_3" packed packed unaligned dcl 4-39 in procedure "reconfigure" set ref 143 145 range parameter fixed bin(17,0) dcl 414 ref 410 434 rc_messages$rc_messages 000012 external static char(64) array dcl 86 set ref 505* 507* rcerr_addcpu_bad_switches constant fixed bin(17,0) initial dcl 2-16 ref 134 rcerr_addcpu_enable constant fixed bin(17,0) initial dcl 2-16 ref 160 rcerr_addscu_manual constant fixed bin(17,0) initial dcl 2-31 ref 212 rcerr_addscu_size constant fixed bin(17,0) initial dcl 2-31 ref 212 rci based structure level 1 dcl 3-7 rsw_1_3 based structure level 1 dcl 4-39 rsw_4 based structure level 1 dcl 4-47 rswp 000314 automatic pointer dcl 4-11 set ref 135* 136 138 141* 151 155 scs$controller_data 000056 external static structure array level 1 dcl 1-6 scs$processor_data 000060 external static structure array level 1 dcl 1-35 search builtin function dcl 94 ref 468 substr builtin function dcl 94 ref 434 470 470 switches 000214 automatic bit(36) array dcl 55 set ref 133* 135 141 143 145 161 t parameter fixed bin(17,0) dcl 413 ref 410 417 tag 000231 automatic fixed bin(3,0) dcl 65 set ref 133* 186* 210* 235* 353* 353 353 354 354 356 434* 435 437 targ based char packed unaligned dcl 99 set ref 433 434 444 445* 450 451* 468 470 470 473 tc 000225 automatic fixed bin(17,0) dcl 61 set ref 432* 433 434 435 443* 444 445 445 449* 450 451 451 463* 466 466 468 470 470 473 tp 000100 automatic pointer dcl 50 set ref 432* 433 434 443* 444 445 449* 450 451 463* 468 470 470 473 type 000230 automatic fixed bin(17,0) dcl 64 set ref 303* 305 307 417* 423 423 429 437 439 457 503 505 507 507 unspec builtin function dcl 94 set ref 161* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BULK_PORT internal static fixed bin(17,0) initial dcl 1-176 CPU_PORT internal static fixed bin(17,0) initial dcl 1-176 IOM_PORT internal static fixed bin(17,0) initial dcl 1-176 dps8_mem_size_table internal static fixed bin(24,0) initial array dcl 4-63 dps8_rsw_2 based structure level 1 dcl 4-25 dps_mem_size_table internal static fixed bin(24,0) initial array dcl 4-54 rcerr_addcpu_amoff internal static fixed bin(17,0) initial dcl 2-16 rcerr_addcpu_gcos internal static fixed bin(17,0) initial dcl 2-16 rcerr_addcpu_lockup internal static fixed bin(17,0) initial dcl 2-16 rcerr_addcpu_no_response internal static fixed bin(17,0) initial dcl 2-16 rcerr_addcpu_startup internal static fixed bin(17,0) initial dcl 2-16 rcerr_addcpu_trouble internal static fixed bin(17,0) initial dcl 2-16 rcerr_addscu_bad_mask internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_bigconfig internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_dup_mask internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_enable internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_fault internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_memoverlap internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_no_mask internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_oldexpand internal static fixed bin(17,0) initial dcl 2-31 rcerr_addscu_switches internal static fixed bin(17,0) initial dcl 2-31 rcerr_delcpu_last internal static fixed bin(17,0) initial dcl 2-26 rcerr_delcpu_no_good_blcpu internal static fixed bin(17,0) initial dcl 2-26 rcerr_delcpu_no_stop internal static fixed bin(17,0) initial dcl 2-26 rcerr_delmain_abs_wired internal static fixed bin(17,0) initial dcl 2-44 rcerr_delmain_nomem internal static fixed bin(17,0) initial dcl 2-44 rcerr_isolts_bad_switches internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_bootload_scu internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_cpu_online internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_illegal_cpu internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_illegal_scu internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_lda_fail internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_locked internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_no_config internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_no_mask internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_no_response internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_no_str_flt internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_not internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_scu_not internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_two_scu internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_wrong_cell internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_wrong_scu internal static fixed bin(17,0) initial dcl 2-57 rcerr_isolts_wrong_scu_cell internal static fixed bin(17,0) initial dcl 2-57 rcerr_locked internal static fixed bin(17,0) initial dcl 2-48 rcerr_no_config internal static fixed bin(17,0) initial dcl 2-48 rcerr_not_online internal static fixed bin(17,0) initial dcl 2-48 rcerr_online internal static fixed bin(17,0) initial dcl 2-48 rcerr_range internal static fixed bin(17,0) initial dcl 2-48 rcerr_sprq_failed internal static fixed bin(17,0) initial dcl 2-48 rcip automatic pointer dcl 3-5 rsw_valid internal static fixed bin(17,0) initial array dcl 4-66 scs$bos_processor_tag external static fixed bin(3,0) dcl 1-137 scs$bos_restart_flags external static bit(8) dcl 1-135 scs$cam_pair external static fixed bin(71,0) dcl 1-103 scs$cam_wait external static bit(8) dcl 1-104 scs$cfg_data external static fixed bin(71,0) array dcl 1-150 scs$cfg_data_save external static fixed bin(71,0) dcl 1-152 scs$connect_lock external static bit(36) dcl 1-132 scs$controller_config_size external static fixed bin(14,0) array dcl 1-164 scs$cow external static structure array level 1 dcl 1-65 scs$cow_ptrs external static structure array level 1 dcl 1-77 scs$cpu_test_mask external static bit(72) dcl 1-96 scs$cpu_test_pattern external static bit(36) dcl 1-99 scs$cycle_priority_template external static bit(7) dcl 1-172 scs$expanded_ports external static bit(1) array packed unaligned dcl 1-154 scs$fast_cam_pending external static bit(36) array dcl 1-140 scs$faults_initialized external static bit(1) dcl 1-138 scs$idle_aptep external static pointer array packed unaligned dcl 1-130 scs$interrupt_controller external static fixed bin(3,0) dcl 1-141 scs$mask_ptr external static pointer array packed unaligned dcl 1-110 scs$nprocessors external static fixed bin(17,0) dcl 1-136 scs$number_of_masks external static fixed bin(17,0) dcl 1-97 scs$open_level external static bit(72) dcl 1-94 scs$port_addressing_word external static bit(3) array dcl 1-148 scs$port_data external static structure array level 1 dcl 1-56 scs$processor external static bit(8) dcl 1-143 scs$processor_data_switch_value external static bit(36) dcl 1-162 scs$processor_start_int_no external static fixed bin(5,0) dcl 1-142 scs$processor_start_mask external static bit(72) dcl 1-95 scs$processor_start_pattern external static bit(36) dcl 1-98 scs$processor_start_wait external static bit(8) dcl 1-144 scs$processor_switch_compare external static bit(36) array dcl 1-159 scs$processor_switch_data external static bit(36) array dcl 1-157 scs$processor_switch_mask external static bit(36) array dcl 1-160 scs$processor_switch_template external static bit(36) array dcl 1-158 scs$processor_test_data external static structure level 1 dcl 1-114 scs$read_mask external static bit(36) array dcl 1-109 scs$reconfig_general_cow external static structure level 1 dcl 1-82 scs$reconfig_lock external static bit(36) dcl 1-133 scs$reconfig_locker_id external static char(32) dcl 1-167 scs$scas_page_table external static bit(36) array dcl 1-169 scs$set_cycle_switches external static bit(1) dcl 1-173 scs$set_mask external static bit(36) array dcl 1-108 scs$sys_level external static bit(72) dcl 1-93 scs$sys_trouble_pending external static bit(1) dcl 1-139 scs$trouble_dbrs automatic fixed bin(71,0) array dcl 1-146 scs$trouble_flags external static bit(8) dcl 1-134 switch_w1 based structure level 1 dcl 2-76 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR 001162 constant label dcl 513 set ref 509 abort 002304 constant entry internal dcl 498 ref 164 187 214 236 260 285 426 430 435 441 446 452 461 464 466 468 471 addcpu 000300 constant entry external dcl 128 addmain 000745 constant entry external dcl 254 addmem 000630 constant entry external dcl 205 check_args 001521 constant entry internal dcl 410 ref 131 184 208 233 257 282 delcpu 000554 constant entry external dcl 181 delmain 001005 constant entry external dcl 279 delmem 000704 constant entry external dcl 230 force_unlock 001045 constant entry external dcl 300 print_main_message 001163 constant entry internal dcl 324 ref 263 288 print_mem_message 001261 constant entry internal dcl 347 ref 217 239 reconfigure 000271 constant entry external dcl 26 sw_mess_1 001367 constant entry internal dcl 371 ref 136 138 sw_mess_2 001427 constant entry internal dcl 383 ref 147 149 151 153 155 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3252 3334 2745 3262 Length 3652 2745 62 301 305 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME reconfigure 448 external procedure is an external procedure. print_main_message internal procedure shares stack frame of external procedure reconfigure. print_mem_message internal procedure shares stack frame of external procedure reconfigure. sw_mess_1 internal procedure shares stack frame of external procedure reconfigure. check_args internal procedure shares stack frame of external procedure reconfigure. abort internal procedure shares stack frame of external procedure reconfigure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME reconfigure 000100 tp reconfigure 000102 arg reconfigure 000107 arg2 reconfigure 000210 chan_num reconfigure 000212 chanid reconfigure 000214 switches reconfigure 000220 lace reconfigure 000221 first reconfigure 000222 last reconfigure 000223 n_frames reconfigure 000224 n_args reconfigure 000225 tc reconfigure 000226 code reconfigure 000227 errtag reconfigure 000230 type reconfigure 000231 tag reconfigure 000232 auto_rci reconfigure 000312 i reconfigure 000314 rswp reconfigure 000316 pip reconfigure THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac mdfx1 shorten_stack ext_entry set_chars_eis index_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ cv_oct_check_ hphcs_$add_cpu hphcs_$add_main hphcs_$add_scu hphcs_$del_cpu hphcs_$del_main hphcs_$del_scu hphcs_$rc_force_unlock hphcs_$reconfig_info ioa_ iox_$control THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$wrong_no_of_args iox_$user_output rc_messages$rc_messages scs$controller_data scs$processor_data LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 26 000270 128 000276 131 000305 133 000313 134 000326 135 000331 136 000333 138 000346 141 000360 142 000362 143 000367 145 000376 147 000402 149 000415 151 000431 153 000455 155 000471 157 000507 158 000511 160 000512 161 000514 162 000516 164 000523 167 000527 168 000552 181 000553 184 000561 186 000567 187 000600 190 000604 191 000626 205 000627 208 000635 210 000643 211 000660 212 000662 214 000673 217 000675 218 000702 230 000703 233 000711 235 000717 236 000732 239 000736 240 000743 254 000744 257 000752 259 000757 260 000772 263 000776 264 001003 279 001004 282 001012 284 001017 285 001032 288 001036 289 001043 300 001044 303 001052 304 001054 305 001067 307 001121 309 001154 311 001161 513 001162 324 001163 329 001174 331 001231 332 001260 347 001261 352 001272 353 001275 354 001303 355 001336 356 001337 357 001366 371 001367 376 001400 378 001412 380 001426 383 001427 386 001440 388 001452 389 001464 390 001475 391 001504 393 001520 410 001521 416 001523 417 001524 418 001526 419 001527 421 001530 423 001561 425 001612 426 001623 429 001627 430 001632 432 001644 433 001663 434 001674 435 001705 437 001720 438 001730 439 001731 441 001733 443 001746 444 001765 445 001776 446 002022 448 002033 449 002036 450 002055 451 002066 452 002112 454 002125 455 002126 457 002130 458 002135 459 002141 461 002142 463 002154 464 002173 466 002177 468 002213 470 002237 471 002271 473 002276 476 002303 498 002304 503 002306 505 002335 507 002374 509 002440 ----------------------------------------------------------- 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