COMPILATION LISTING OF SEGMENT find_rpv_subsystem 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 0958.2 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 9 /* find_rpv_subsystem -- use sys_boot_info (or ask the operator) */ 10 /* to locate the RPV when there is no config deck. BIM 8/82 */ 11 /* Modified 2/83 by Keith Loepere to use bce_command_processor_ and 12* environment */ 13 /* Modified '83 by Keith Loepere for skipping firmware load on command. */ 14 /* Modified 3/84 by Keith Loepere to use hc_load_mpc$test_controller */ 15 /* Modified September of 1984 by Allen Ball to ask a better question. */ 16 17 /****^ HISTORY COMMENTS: 18* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 19* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 20* FIPS support. 21* 2) change(86-01-09,Fawcett), approve(86-04-11,MCR7383), 22* audit(86-06-02,GDixon), install(86-07-17,MR12.0-1097): 23* Add subvolume support for MSU3380 and MSU3390. 24* 3) change(86-04-22,Farley), approve(86-07-18,MCR7439), 25* audit(86-08-18,Fawcett), install(86-10-20,MR12.0-1189): 26* Changed to initialize all possible ss_info.flags. 27* 4) change(87-10-19,Farley), approve(88-02-26,MCR7796), 28* audit(88-03-04,Fawcett), install(88-03-15,MR12.2-1035): 29* Added use of sys_boot_info$default_rpv_data. If data in non-null then 30* operator will be queried for authentication. If data is acceptable then 31* standard rpv input request will be skipped. 32* 5) change(87-10-21,Farley), approve(88-02-26,MCR7796), 33* audit(88-03-04,Fawcett), install(88-03-15,MR12.2-1035): 34* Added validity checking of the sys_boot_info values when 35* sys_boot_info$boot_without_query is set. 36* END HISTORY COMMENTS */ 37 38 /* format: style2 */ 39 40 find_rpv_subsystem: 41 procedure; 42 43 /* Tasks are: 44* 1) find the rpv, using sys_boot_info if the data is valid. 45* 2) call init_early_config$disk to reflect the data. 46* 3) boot RPV firmware. 47**/ 48 49 declare error_table_$bad_command_name 50 fixed bin (35) ext static; 51 declare error_table_$device_not_active 52 fixed bin (35) ext static; 53 declare sys_boot_info$default_rpv_data 54 char (24) unaligned external static; 55 declare sys_boot_info$rpv_cold_boot 56 bit (1) aligned external static; 57 declare sys_boot_info$boot_without_query 58 bit (1) aligned external static; 59 declare sys_boot_info$disk_device_has_sv 60 bit (1) aligned external static; 61 declare sys_boot_info$disk_device_sv 62 fixed bin (17) external static; 63 declare sys_boot_info$disk_device_number 64 fixed bin (6) external static; 65 declare sys_boot_info$disk_model_number 66 fixed bin external static; 67 declare sys_boot_info$disk_mpc_chanid 68 char (8) external static; 69 declare sys_boot_info$disk_mpc_model_number 70 fixed bin external static; 71 72 declare bce_query ext entry options (variable); 73 declare bce_query$yes_no entry options (variable); 74 declare boot_rpv_subsystem entry (char (*), fixed bin (35)); 75 declare com_err_ entry options (variable); 76 declare hc_load_mpc$test_controller 77 entry (char (8) aligned, fixed bin (35)); 78 declare ioa_ entry options (variable); 79 declare ioa_$rsnnl entry options (variable); 80 declare init_early_config$disk entry external; 81 declare syserr entry options (variable); 82 declare cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 83 84 declare answer char (32); 85 declare pz999 pic "z999" based; 86 declare cold_boot bit (1) aligned; 87 declare yes_no bit (1); 88 declare loaded_firmware bit (1) aligned; 89 declare skip_firmware_load bit (1) aligned; 90 declare ipc_controller bit (1) aligned init ("0"b); 91 declare controllerx fixed bin; 92 declare controller_fwid char (32); 93 declare code fixed bin (35); 94 declare ME char (32) init ("find_rpv_subsystem") internal static options (constant); 95 96 declare (addr, convert, hbound, index, null, search, string, substr, translate) 97 builtin; /* format: off */ 98 /* Begin include file ...... fs_dev_types.incl.pl1 */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 1 5* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 1 6* Add support for FIPS 1 7* 3380. 1 8* 2) change(86-04-21,Fawcett), approve(86-04-21,MCR7383), 1 9* audit(86-05-15,Coppola), install(86-07-18,MR12.0-1098): 1 10* Add the support for subvolumes for the MSU3380 and MSU3390. 1 11* 3) change(86-10-02,Fawcett), approve(86-10-02,PBF7383), 1 12* audit(86-10-23,Farley), install(86-10-28,MR12.0-1200): 1 13* Changed 3390 to 3381, "d338" to "3380" & "d339" to "3381". 1 14* END HISTORY COMMENTS */ 1 15 1 16 /* Modified 5/19/76 by N. I. Morris */ 1 17 /* Modified 12/27/78 by Michael R. Jordan to correct MSS0500 information */ 1 18 /* Modified 4/79 by R.J.C. Kissel to add msu0501 information. */ 1 19 /* Modified '82 by BIM for needs_alt_part */ 1 20 /* Modified 4/84 by Chris Jones for FIPS disks */ 1 21 /* Modified 12/84 by Paul Farley for FIPS disks formatted for 512wd sectors */ 1 22 /* Modified 1/85 by Paul Farley to decrease the size of the 3380, until the 1 23* volmap and record stock can be expanded. */ 1 24 1 25 /* 1 26******************************************************************************** 1 27** * 1 28** WARNING: * 1 29** * 1 30** There exists fs_dev_types.incl.alm that must me updated when a new device * 1 31** type is added. * 1 32** * 1 33** There are other include files that contain arrays indexed by the device * 1 34** index obtained by references to MODELX or MODELN in this include file. * 1 35** These must be modified when a new device type is added: * 1 36** disk_pack.incl.pl1 * 1 37** fs_dev_types_sector.incl.pl1 (included in this include) * 1 38** * 1 39******************************************************************************** 1 40**/ 1 41 1 42 1 43 dcl (maxdevt init (9), /* maximum legal devt */ 1 44 bulkdevt init (1), /* bulk store devt */ 1 45 msu0500devt init (2), /* MSU0500 device type */ 1 46 msu0451devt init (3), /* MSU0451 device type */ 1 47 msu0450devt init (3), /* MSU0450 device type */ 1 48 msu0400devt init (4), /* MSU0400 device type */ 1 49 dsu191devt init (4), /* DSU191 device type */ 1 50 dsu190devt init (5), /* DSU190 device type */ 1 51 dsu181devt init (6), /* DSU181 device type */ 1 52 msu0501devt init (7), /* MSU0501 device type */ 1 53 fips3380devt init (8), /* 3380D FIPS device type */ 1 54 fips3381devt init (9) /* 3380E FIPS device type */ 1 55 ) fixed bin (4) static options (constant); 1 56 1 57 dcl MODEL (12) fixed bin static options (constant) init /* Known device model numbers */ 1 58 (0, 500, 451, 450, 400, 402, 191, 190, 181, 501, 3380, 3381); 1 59 1 60 dcl MODELX (12) fixed bin static options (constant) init /* translation from model number to device type */ 1 61 (1, 2, 3, 3, 4, 4, 4, 5, 6, 7, 8, 9); 1 62 1 63 dcl MODELN (9) fixed bin static options (constant) init /* translation from device type to model number */ 1 64 (0, 500, 451, 400, 190, 181, 501, 3380, 3381); 1 65 1 66 dcl device_names (9) char (4) aligned static options (constant) init /* device names indexed by device type */ 1 67 ("bulk", "d500", "d451", "d400", "d190", "d181", "d501", "3380", "3381"); 1 68 1 69 dcl first_dev_number (9) fixed bin (17) static options (constant) init /* First valid device_number */ 1 70 (1, 1, 1, 1, 1, 1, 1, 0, 0); 1 71 1 72 dcl fips_type_disk (9) bit (1) unal static options (constant) init /* ON => FIPS disk */ 1 73 ("0"b,"0"b,"0"b,"0"b,"0"b,"0"b,"0"b,"1"b,"1"b); 1 74 1 75 dcl media_removable (9) bit (1) static options (constant) init /* ON => demountable pack on device */ 1 76 ("0"b, "0"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b); 1 77 1 78 dcl shared_spindle (9) bit (1) static options (constant) init /* ON => 2 devices per spindle */ 1 79 ("0"b, "1"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b); 1 80 1 81 dcl needs_alt_part (9) bit (1) static options (constant) init /* ON => needs alternate partition to run alternate tracks */ 1 82 ("0"b, "0"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b); 1 83 1 84 dcl seek_command (9) bit (6) init /* Seek command: 00 => N/A, 30 => Seek_512, 34 => seek_64 */ 1 85 ("00"b3,"34"b3,"34"b3,"34"b3,"34"b3,"34"b3,"34"b3,"30"b3, "30"b3); 1 86 1 87 dcl rec_per_dev (9) fixed bin (21) static options (constant) init /* table of # of records on each device */ 1 88 (0, 38258, 38258, 19270, 14760, 4444, 67200, 112395, 224790); 1 89 1 90 dcl rec_per_sv (9) fixed bin static options (constant) init /* table of # of records on each subvol */ 1 91 (0, 38258, 38258, 19270, 14760, 4444, 67200, 56134, 74930); 1 92 1 93 dcl number_of_sv (9) fixed bin static options (constant) init /* table of subvolumes */ 1 94 (0, 0, 0, 0, 0, 0, 0, 2, 3); 1 95 1 96 dcl valid_sv_string char (3) static options (constant) init /* string of valid subvolume names */ 1 97 ("abc"); 1 98 1 99 dcl valid_sv_array (0:2) char (1) static options (constant) /* array of valid subvolume names */ 1 100 init ("a","b","c"); 1 101 1 102 dcl cyl_per_dev (9) fixed bin static options (constant) init /* table of # of cylinders on each device */ 1 103 (0, 814, 814, 410, 410, 202, 840, 885, 1770); 1 104 1 105 dcl cyl_per_sv (9) fixed bin static options (constant) init /* table of # of cylinders on each subvolume */ 1 106 (0, 814, 814, 410, 410, 202, 840, 442, 590); 1 107 1 108 dcl rec_per_cyl (9) fixed bin static options (constant) init /* table of # of records per cylinder on each device */ 1 109 (0, 47, 47, 47, 36, 22, 80, 127, 127); 1 110 1 111 dcl tracks_per_cyl (9) fixed bin static options (constant) init /* table of # of tracks per cylinder on each device */ 1 112 (0, 19, 19, 19, 19, 20, 20, 15, 15); 1 113 1 114 1 115 dcl first_rec_num (9) fixed bin static options (constant) init /* table of # of first record on each device */ 1 116 (0, 0, 0, 0, 0, 0, 0, 0, 0); 1 117 1 118 dcl last_rec_num (9) fixed bin (18) static options (constant) init /* table of # of last record on each device */ 1 119 (0, 38257, 38116, 19128, 14651, 4399, 67199, 112394, 224789); 1 120 1 121 dcl last_sv_rec_num (9) fixed bin (18) static options (constant) init /* table of # of last record on each subvolume */ 1 122 (0, 38257, 38116, 19128, 14651, 4399, 67199, 56133, 74929); 1 123 1 124 dcl first_sect_num (9) fixed bin (24) static options (constant) init /* table of # of first sector for each device */ 1 125 (0, 0, 0, 0, 0, 0, 0, 0, 0); 1 126 1 127 dcl last_sect_num (9) fixed bin (24) static options (constant) init /* table of # last sector number for each device */ 1 128 (0, 618639, 616359, 309319, 239722, 71999, 1075199, 225674, 451349); 1 129 1 130 dcl first_alt_sect_num (9) fixed bin (24) static options (constant) init /* table of # of first sector of alt partition */ 1 131 (0, 638400, 616360, 309320, 239723, 72000, 1075200, 225675, 451350); 1 132 1 133 dcl last_alt_sect_num (9) fixed bin (24) static options (constant) init /* table of # of last sector of alt partition */ 1 134 (0, 639919, 618639, 311599, 241489, 72719, 1077759, 225930, 451605); 1 135 1 136 dcl last_physical_sect_num (9) fixed bin (24) static options (constant) init /* table of # of last sector on device (includes T&D cylinders) */ 1 137 (0, 639919, 619399, 312359, 242249, 72359, 1077759, 225674, 451859); 1 138 1 139 dcl dev_time (9) float bin (27) static options (constant) init /* table of average access times for each device */ 1 140 (384e0, 33187e0, 33187e0, 34722e0, 46935e0, 52631e0, 33187e0, 26260e0, 26260e0); 1 141 2 1 /* Begin fs_dev_types_sector.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(86-04-21,Fawcett), approve(86-04-21,MCR7383), 2 6* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 2 7* Add the sector differance for devices that do 64 word IO and devices that 2 8* do 512 word IO. 2 9* END HISTORY COMMENTS */ 2 10 2 11 /* Created by R. A. Fawcett for 512 word IO. for procedures that do not 2 12* need all the data in fs_dev_types. This is also included in 2 13* fs_dev_types.incl.pl1 */ 2 14 2 15 dcl sect_per_cyl (9) fixed bin static options (constant) init /* table of # of sectors per cylinder on each device */ 2 16 (0, 760, 760, 760, 589, 360, 1280, 255, 255); 2 17 2 18 dcl sect_per_sv (9) fixed bin (24) static options (constant) init /* table of # of sectors per cylinder on each subvolume */ 2 19 (0, 0, 0, 0, 0, 0, 0, 112710, 150450); 2 20 2 21 dcl sect_per_rec (9) fixed bin static options (constant) init 2 22 /* table of # of sectors per record on each device */ 2 23 /* coresponding array in disk_pack.incl.pl1 called SECTORS_PER_RECORD */ 2 24 (0, 16, 16, 16, 16, 16, 16, 2, 2); 2 25 2 26 dcl sect_per_vtoc (9) fixed bin static options (constant) init 2 27 (0, 3, 3, 3, 3, 3, 3, 1, 1); 2 28 2 29 dcl vtoc_per_rec (9) fixed bin static options (constant) init 2 30 /* corespending array in disk_pack.incl.pl1 named VTOCES_PER_RECORD */ 2 31 (0, 5, 5, 5, 5, 5, 5, 2, 2); 2 32 2 33 dcl sect_per_track (9) fixed bin static options (constant) init /* table of # of sectors per track on each device */ 2 34 (0, 40, 40, 40, 31, 18, 64, 17, 17); 2 35 2 36 dcl words_per_sect (9) fixed bin static options (constant) init /* table of # of words per sector on each device */ 2 37 (0, 64, 64, 64, 64, 64, 64, 512, 512); 2 38 2 39 /* End fs_dev_types_sector.incl.pl1 */ 2 40 1 142 1 143 1 144 /* End of include file ...... fs_dev_types.incl.pl1 */ 98 99 /* START OF: io_chnl_util_dcls.incl.pl1 * * * * * * * * * * * * * * * * */ 3 2 3 3 /* Written by Charles Hornig, 1st quarter 1981 */ 3 4 /* Canonicalization entry added by Chris Jones, January 1984 */ 3 5 3 6 /* chanid = canonicalize_chanid (chanid); */ 3 7 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 3 8 dcl io_chnl_util$canonicalize_chanid 3 9 entry (char (8) aligned) returns (char (8) aligned); 3 10 3 11 /* call iom_to_name (iomno, channo, name, code); */ 3 12 dcl io_chnl_util$iom_to_name 3 13 entry (fixed bin (3), fixed bin (7), char (8) aligned, fixed bin (35)); 3 14 3 15 /* call name_to_iom (name, iomno, channo, code); */ 3 16 dcl io_chnl_util$name_to_iom 3 17 entry (char (8) aligned, fixed bin (3), fixed bin (7), fixed bin (35)); 3 18 3 19 /* END OF: io_chnl_util_dcls.incl.pl1 * * * * * * * * * * * * * * * * */ 99 100 /* Begin include file config_data_dcls.incl.pl1 BIM 9/82 */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 4 5* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 4 6* Add changes made to 4 7* config_data_.cds. 4 8* 2) change(86-10-21,Fawcett), approve(86-10-21,PBF7381), 4 9* audit(86-10-23,Farley), install(86-10-28,MR12.0-1200): 4 10* Corrected the number of tape drive models supported. 4 11* END HISTORY COMMENTS */ 4 12 4 13 /* format: style3 */ 4 14 /* Modified 830523 to add console io_type and line_leng fields for different 4 15* operator's consoles and to fix a size bug... -E. A. Ranzenbach */ 4 16 /* Modified 841101 by Paul Farley to add changes made to config_data_.cds */ 4 17 4 18 /* WARNING WARNING */ 4 19 4 20 /* Due to the awful PL/I restriction that prohibits any expressions */ 4 21 /* in external variable extents, the arrays here have integers for */ 4 22 /* extents. Changes to config_data_.cds should be reflected here, */ 4 23 /* Because the declares in config_data_.cds use the "like" attribute. */ 4 24 /* Just in case, though, do NOT use hbound. Use the .count fields */ 4 25 /* in the structures instead. */ 4 26 4 27 declare config_data_$chnl_cardx 4 28 fixed binary external static; 4 29 declare config_data_$clok_cardx 4 30 fixed binary external static; 4 31 declare config_data_$cpu_cardx 4 32 fixed binary external static; 4 33 declare config_data_$fnp_cardx 4 34 fixed binary external static; 4 35 declare config_data_$intk_cardx 4 36 fixed binary external static; 4 37 declare config_data_$iom_cardx 4 38 fixed binary external static; 4 39 declare config_data_$mem_cardx 4 40 fixed binary external static; 4 41 declare config_data_$mpc_msp_cardx 4 42 fixed binary external static; 4 43 declare config_data_$mpc_mtp_cardx 4 44 fixed binary external static; 4 45 declare config_data_$ipc_fips_cardx 4 46 fixed binary external static; 4 47 declare config_data_$mpc_urp_cardx 4 48 fixed binary external static; 4 49 declare config_data_$mpc_cardx 4 50 fixed binary external static; 4 51 declare config_data_$mpcs_msp_cardx 4 52 fixed binary external static; 4 53 declare config_data_$mpcs_mtp_cardx 4 54 fixed binary external static; 4 55 declare config_data_$mpcs_urp_cardx 4 56 fixed binary external static; 4 57 declare config_data_$mpcs_cardx 4 58 fixed binary external static; 4 59 declare config_data_$parm_cardx 4 60 fixed binary external static; 4 61 declare config_data_$part_cardx 4 62 fixed binary external static; 4 63 declare config_data_$prph_dsk_cardx 4 64 fixed binary external static; 4 65 declare config_data_$prph_prt_cardx 4 66 fixed binary external static; 4 67 declare config_data_$prph_rdr_cardx 4 68 fixed binary external static; 4 69 declare config_data_$prph_pun_cardx 4 70 fixed binary external static; 4 71 declare config_data_$prph_ccu_cardx 4 72 fixed binary external static; 4 73 declare config_data_$prph_tap_cardx 4 74 fixed binary external static; 4 75 declare config_data_$prph_opc_cardx 4 76 fixed binary external static; 4 77 declare config_data_$prph_cardx 4 78 fixed binary external static; 4 79 declare config_data_$root_cardx 4 80 fixed binary external static; 4 81 declare config_data_$salv_cardx 4 82 fixed binary external static; 4 83 declare config_data_$schd_cardx 4 84 fixed binary external static; 4 85 declare config_data_$sst_cardx 4 86 fixed binary external static; 4 87 declare config_data_$stok_cardx 4 88 fixed binary external static; 4 89 declare config_data_$tbls_cardx 4 90 fixed binary external static; 4 91 declare config_data_$udsk_cardx 4 92 fixed binary external static; 4 93 4 94 declare 1 config_data_$config_cards 4 95 aligned external static, 4 96 2 count fixed binary, 4 97 2 per_card (32) aligned, 4 98 3 name char (4) aligned, 4 99 3 second_field char (4) aligned, 4 100 3 flags aligned, 4 101 4 match_second bit (1) unaligned, /* PRPH FOO */ 4 102 4 match_only_3 bit (1) unaligned; /* XXXn type */ 4 103 4 104 declare 1 config_data_$mpc_msp_model_names 4 105 aligned external static, 4 106 2 count fixed binary, 4 107 2 names (9) aligned, 4 108 3 model fixed binary, 4 109 3 name character (8), 4 110 3 fw_tag character (16), 4 111 3 valid_drives (16) fixed binary unaligned; 4 112 4 113 declare 1 config_data_$mpc_mtp_model_names 4 114 aligned external static, 4 115 2 count fixed binary, 4 116 2 names (7) aligned, 4 117 3 model fixed binary, 4 118 3 name character (8), 4 119 3 fw_tag character (16), 4 120 3 valid_drives (16) fixed binary unaligned; 4 121 4 122 declare 1 config_data_$mpc_urp_model_names 4 123 aligned external static, 4 124 2 count fixed binary, 4 125 2 names (6) aligned, 4 126 3 model fixed binary, 4 127 3 name character (8), 4 128 3 fw_tag character (16); /* "EURC" for EURC */ 4 129 4 130 declare 1 config_data_$ipc_msp_model_names 4 131 aligned external static, 4 132 2 count fixed binary, 4 133 2 names (1) aligned, 4 134 3 model fixed binary, 4 135 3 name character (8), 4 136 3 fw_tag character (16), 4 137 3 valid_drives (16) fixed binary unaligned; 4 138 4 139 declare 1 config_data_$ipc_mtp_model_names 4 140 aligned external static, 4 141 2 count fixed binary, 4 142 2 names (1) aligned, 4 143 3 model fixed binary, 4 144 3 name character (8), 4 145 3 fw_tag character (16), 4 146 3 valid_drives (16) fixed binary unaligned; 4 147 4 148 declare 1 config_data_$disk_drive_model_names 4 149 aligned external static, 4 150 2 count fixed binary, 4 151 2 names (5) aligned, 4 152 3 model fixed binary, 4 153 3 name character (8), 4 154 3 device_0_valid bit (1); 4 155 4 156 declare 1 config_data_$tape_drive_model_names 4 157 aligned external static, 4 158 2 count fixed binary, 4 159 2 names (9) aligned, 4 160 3 model fixed binary, 4 161 3 name character (8), 4 162 3 device_0_valid bit (1); 4 163 4 164 declare 1 config_data_$printer_model_names 4 165 aligned external static, 4 166 2 count fixed binary, 4 167 2 names (5) aligned, 4 168 3 model fixed binary, 4 169 3 name character (8); 4 170 4 171 declare 1 config_data_$reader_model_names 4 172 aligned external static, 4 173 2 count fixed binary, 4 174 2 names (4) aligned, 4 175 3 model fixed binary, 4 176 3 name character (8); 4 177 4 178 declare 1 config_data_$ccu_model_names 4 179 aligned external static, 4 180 2 count fixed binary, 4 181 2 names (1) aligned, 4 182 3 model fixed binary, 4 183 3 name character (8); 4 184 4 185 declare 1 config_data_$punch_model_names 4 186 aligned external static, 4 187 2 count fixed binary, 4 188 2 names (3) aligned, 4 189 3 model fixed binary, 4 190 3 name character (8); 4 191 4 192 declare 1 config_data_$console_model_names 4 193 aligned external static, 4 194 2 count fixed binary, 4 195 2 names (3) aligned, 4 196 3 model fixed binary, 4 197 3 name character (8), 4 198 3 line_leng fixed bin (17), 4 199 3 io_type character (4); 4 200 4 201 /* End include file config_data_dcls.incl.pl1 */ 100 101 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 5 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 5 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 5 4 5 5 /* This include file has an ALM version. Keep 'em in sync! */ 5 6 5 7 dcl ( 5 8 5 9 /* The following constants define the message action codes. This indicates 5 10*how a message is to be handled. */ 5 11 5 12 SYSERR_CRASH_SYSTEM init (1), 5 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 5 14 5 15 SYSERR_TERMINATE_PROCESS init (2), 5 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 5 17 5 18 SYSERR_PRINT_WITH_ALARM init (3), 5 19 BEEP init (3), /* Beep and print the message on the console. */ 5 20 5 21 SYSERR_PRINT_ON_CONSOLE init (0), 5 22 ANNOUNCE init (0), /* Just print the message on the console. */ 5 23 5 24 SYSERR_LOG_OR_PRINT init (4), 5 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 5 26 5 27 SYSERR_LOG_OR_DISCARD init (5), 5 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 5 29 5 30 5 31 /* The following constants are added to the normal severities to indicate 5 32*different sorting classes of messages. */ 5 33 5 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 5 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 5 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 5 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 5 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 5 39 ) fixed bin internal static options (constant); 5 40 5 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 101 102 /* format: on */ 103 104 105 RETRY: 106 skip_firmware_load = "0"b; 107 loaded_firmware = "0"b; 108 cold_boot = "0"b; 109 if ^sys_boot_info$boot_without_query 110 then call QUERY; /* will set loaded_firmware */ 111 else do; 112 113 /**** Data already in sys_boot_info. Verify its correctness and continue if 114* all is well. Otherwise reset boot_without_query and query the operator 115* for the proper response. */ 116 117 if ^CHECK_CHANNEL (sys_boot_info$disk_mpc_chanid) 118 then go to RESET_N_RETRY; 119 120 if sys_boot_info$disk_mpc_model_number = -1 121 then answer = "ipc"; 122 else answer = convert (pz999, sys_boot_info$disk_mpc_model_number); 123 if ^CHECK_MPC_MODEL (answer, controllerx) 124 then go to RESET_N_RETRY; 125 126 answer = convert (pz999, sys_boot_info$disk_model_number); 127 if ^CHECK_DRIVE_MODEL (answer) 128 then go to RESET_N_RETRY; 129 130 call ioa_$rsnnl ("^d^[^a^;^s^]", answer, 0, sys_boot_info$disk_device_number, 131 sys_boot_info$disk_device_has_sv, valid_sv_array (sys_boot_info$disk_device_sv)); 132 if ^CHECK_DRIVE_NUMBER (answer) 133 then go to RESET_N_RETRY; 134 135 loaded_firmware = LOAD_MPC (); 136 if ^loaded_firmware 137 then do; 138 call ioa_ ("^a: Firmware load failed. If RPV parameters were incorrect, then reenter", ME); 139 call ioa_ (" To give up respond ""shut""."); 140 end; 141 end; 142 143 if ^loaded_firmware /* global set in QUERY */ 144 then do; 145 RESET_N_RETRY: 146 sys_boot_info$boot_without_query = "0"b; 147 go to RETRY; 148 end; 149 150 /* Arrive here on success */ 151 152 153 sys_boot_info$rpv_cold_boot = cold_boot; /* Advertise */ 154 call init_early_config$disk; /* We got it right, record it */ 155 156 return; 157 158 159 QUERY: 160 procedure; 161 162 cold_boot = ""b; 163 164 165 if QUERY_BRIEF () 166 then return; /* one-line response given */ 167 168 ASK_AGAIN: 169 cold_boot = "0"b; 170 COLD_ASK_CHANNEL: 171 call bce_query (answer, "^a: Enter RPV subsystem base channel, as Icc^[, or ""cold""^]. ", ME, ^cold_boot); 172 if (answer = "cold" | answer = """cold""") & ^cold_boot 173 then do; 174 if CHECK_COLD () 175 then cold_boot = "1"b; 176 go to COLD_ASK_CHANNEL; 177 end; 178 179 else if answer = "shut" | answer = """shut""" 180 then go to SHUTDOWN_REQUESTED; 181 182 if ^CHECK_CHANNEL (answer) /* side effect -- set sys_boot_info */ 183 then go to COLD_ASK_CHANNEL; 184 185 RE_ASK_SUBSYSTEM: 186 call bce_query (answer, "^a: Enter RPV subsystem MPC model: ", ME); 187 188 if ^CHECK_MPC_MODEL (answer, controllerx) 189 then go to RE_ASK_SUBSYSTEM; 190 191 if ^LOAD_MPC () /* get success before bothering with other questions */ 192 then go to ASK_AGAIN; 193 194 RE_ASK_DRIVE_MODEL: 195 call bce_query (answer, "^a: Enter RPV disk drive model: ", ME); 196 197 if ^CHECK_DRIVE_MODEL (answer) 198 then go to RE_ASK_DRIVE_MODEL; 199 200 RE_ASK_DRIVE: 201 call bce_query (answer, "^a: Enter RPV drive device number: ", ME); 202 203 if ^CHECK_DRIVE_NUMBER (answer) 204 then go to RE_ASK_DRIVE; 205 call bce_query$yes_no (yes_no, 206 "^a: RPV is a model ^d drive, number ^d^[^a^;^1s^] on ^[MPC ^a (Model ^a)^;ipc ^a^1s^]^[, and this is a COLD boot^].^/ Is this correct? ", 207 ME, sys_boot_info$disk_model_number, sys_boot_info$disk_device_number, sys_boot_info$disk_device_has_sv, 208 valid_sv_array (sys_boot_info$disk_device_sv), (sys_boot_info$disk_mpc_model_number ^= -1), 209 sys_boot_info$disk_mpc_chanid, config_data_$mpc_msp_model_names.names (controllerx).name, cold_boot); 210 if ^yes_no 211 then go to ASK_AGAIN; 212 213 return; 214 215 216 QUERY_BRIEF: 217 procedure returns (bit (1) aligned); 218 6 1 /* Begin include file bce_subsystem_info_.incl.pl1 BIM 11/82 */ 6 2 6 3 /* format: style3 */ 6 4 6 5 /* Deleted unused items, Keith Loepere, 5/84 */ 6 6 6 7 6 8 /****^ HISTORY COMMENTS: 6 9* 1) change(86-04-22,Farley), approve(86-07-18,MCR7439), 6 10* audit(86-10-08,Fawcett), install(86-10-20,MR12.0-1189): 6 11* Added request_handling_opr_aborts flag for save/restore. 6 12* END HISTORY COMMENTS */ 6 13 6 14 declare ss_info_ptr pointer; 6 15 declare 1 ss_info aligned based (ss_info_ptr), 6 16 2 request_table_ptr 6 17 pointer, 6 18 2 abort_label label, 6 19 2 name char (32) unaligned, 6 20 2 arg_list_ptr pointer, 6 21 2 info_ptr pointer, 6 22 2 flags aligned, 6 23 3 forbid_semicolons bit (1) unaligned, 6 24 3 request_handling_opr_aborts bit (1) unaligned; 6 25 6 26 /* End include file bce_subsystem_info_ */ 219 220 declare bce_command_processor_ entry (character (*), entry (ptr, char (*), fixed bin (35)) returns (entry), ptr, 221 fixed binary (35)); 222 declare cu_$arg_count_rel entry (fixed bin, ptr, fixed bin (35)); 223 declare cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 224 declare line char (132); 225 declare code fixed bin (35); 226 declare 1 my_ss_info aligned like ss_info; 227 228 ss_info_ptr = addr (my_ss_info); 229 ss_info.request_table_ptr = null (); /* we find our own commands */ 230 ss_info.abort_label = RETURN_FAILURE; 231 ss_info.name = "find_rpv_subsystem"; 232 ss_info.arg_list_ptr = null (); 233 ss_info.info_ptr = null (); 234 string (ss_info.flags) = ""b; 235 ss_info.flags.forbid_semicolons = "1"b; 236 237 if sys_boot_info$default_rpv_data ^= "" 238 then do; 239 line = sys_boot_info$default_rpv_data; 240 call bce_query$yes_no (yes_no, "^a: Default RPV data is ""^a""^/Is this correct? ", ME, line); 241 if yes_no 242 then go to EXPAND_LINE; 243 else line = ""; 244 end; 245 AGAIN: 246 call bce_query (line, "^a: Enter RPV data: ", ME); 247 EXPAND_LINE: 248 call bce_command_processor_ (line, CF, ss_info_ptr, code); 249 if code = 100 /* null line */ 250 then do; 251 call ioa_ ("null line"); 252 go to AGAIN; 253 end; 254 if code ^= 0 255 then do; 256 call com_err_ (code, ME, "Type ""help"" for help."); 257 go to AGAIN; 258 end; 259 260 /* Control arrives at one of the following labels by non-local goto */ 261 262 RETURN_SUCCESS: 263 if ^LOAD_MPC () 264 then go to AGAIN; 265 else return ("1"b); 266 267 RETURN_FAILURE: 268 return ("0"b); 269 270 271 CF: 272 procedure (Info_ptr, Command, Code) returns (entry); 273 declare Command character (*); 274 declare Code fixed binary (35); 275 declare Info_ptr ptr; 276 277 Code = 0; 278 if Command = "help" | Command = "?" 279 then return (HELP); 280 else if Command = "query" 281 then go to RETURN_FAILURE; 282 else if Command = "rpv" 283 then return (WARM); 284 else if Command = "cold" 285 then return (COLD); 286 else if Command = "shut" 287 then go to SHUTDOWN_REQUESTED; 288 else if Command = "skip_load" | Command = "skip" 289 then return (SKIP); 290 else do; 291 Code = error_table_$bad_command_name; 292 return (null_entry_); 293 end; 294 end CF; 295 296 297 HELP: 298 procedure (Arg_list_ptr) options (non_quick); 299 declare Arg_list_ptr ptr; 300 301 call ioa_ ("For an ordinary boot, enter:"); 302 call ioa_ (" rpv Icc MPC_Model Drive_Model Drive_Number"); 303 call ioa_ (" Where: I is the iom tag, cc is the base channel in decimal,"); 304 call ioa_ (" MPC_Model is MPC Model, "); 305 call ioa_ (" Drive_Model is RPV drive model number, and "); 306 call ioa_ (" Drive_Number is the RPV device number."); 307 call ioa_ ("^/For a cold boot, enter:"); 308 call ioa_ (" cold Icc MPC_Model Drive_Model Drive_Number"); 309 call ioa_ ("^/To skip the firmware loading of the MPC, enter"); 310 call ioa_ (" skip_load or skip"); 311 call ioa_ ("^/If this still is not clear, enter ""query"" for a setp-by-step query"); 312 go to AGAIN; 313 end HELP; 314 315 SKIP: 316 procedure (Arg_list_ptr) options (non_quick); 317 declare Arg_list_ptr pointer; 318 319 skip_firmware_load = "1"b; 320 go to AGAIN; 321 end SKIP; 322 323 WARM: 324 procedure (Info_ptr); 325 declare Info_ptr pointer; 326 declare ap pointer; 327 declare al fixed bin (21); 328 declare arg character (al) based (ap); 329 declare arg_count fixed bin; 330 declare arg_list_ptr pointer; 331 declare cold bit (1) aligned; 332 333 cold = "0"b; 334 go to COMMON; 335 336 COLD: 337 entry (Info_ptr); 338 339 cold = "1"b; 340 COMMON: 341 arg_list_ptr = Info_ptr -> ss_info.arg_list_ptr; 342 call cu_$arg_count_rel (arg_count, arg_list_ptr, (0)); 343 if arg_count ^= 4 344 then 345 SYNTAX: 346 do; 347 call ioa_ ("Invalid syntax. Type ""help"" for help."); 348 go to AGAIN; 349 end; 350 351 call cu_$arg_ptr_rel (1, ap, al, (0), arg_list_ptr); 352 if ^CHECK_CHANNEL (arg) 353 then go to AGAIN; 354 355 call cu_$arg_ptr_rel (2, ap, al, (0), arg_list_ptr); 356 if ^CHECK_MPC_MODEL (arg, controllerx) 357 then go to AGAIN; 358 359 call cu_$arg_ptr_rel (3, ap, al, (0), arg_list_ptr); 360 if ^CHECK_DRIVE_MODEL (arg) 361 then go to AGAIN; 362 363 call cu_$arg_ptr_rel (4, ap, al, (0), arg_list_ptr); 364 if ^CHECK_DRIVE_NUMBER (arg) 365 then go to AGAIN; 366 367 if cold 368 then if ^CHECK_COLD () 369 then go to AGAIN; 370 else cold_boot = "1"b; 371 go to RETURN_SUCCESS; 372 end WARM; 373 374 COMMON: 375 end QUERY_BRIEF; 376 377 CHECK_COLD: 378 procedure returns (bit (1) aligned); 379 declare yes_no bit (1) aligned; 380 call bce_query$yes_no (yes_no, 381 "^a: Booting cold will destroy all data on the RPV.^/ Are you sure that you want to boot cold? ", ME); 382 return (yes_no); 383 end CHECK_COLD; 384 end QUERY; 385 386 CHECK_CHANNEL: 387 procedure (Chanid) returns (bit (1) aligned); 388 declare Chanid character (*); 389 390 sys_boot_info$disk_mpc_chanid = translate (Chanid, "ABCD", "abcd"); 391 392 call io_chnl_util$name_to_iom ((sys_boot_info$disk_mpc_chanid), (0), (0), code); 393 if code ^= 0 /* not an error table code */ 394 then do; 395 call ioa_ ("^a is not a valid channel.", Chanid); 396 call ioa_ (" Use Icc, where I is the IOM tag (A, B, C, or D), and"); 397 call ioa_ (" cc is the channel number, in decimal."); 398 return ("0"b); 399 end; 400 return ("1"b); 401 end CHECK_CHANNEL; 402 403 404 CHECK_MPC_MODEL: 405 procedure (Model, Controllerx) returns (bit (1) aligned); 406 declare Model char (*); 407 declare Controllerx fixed bin; 408 declare x fixed bin; 409 410 sys_boot_info$disk_mpc_model_number = cv_dec_check_ (Model, code); 411 412 if code ^= 0 413 then do; 414 if Model = "ipc" 415 then do; 416 sys_boot_info$disk_mpc_model_number = -1; 417 /* not firmware to load */ 418 ipc_controller = "1"b; 419 skip_firmware_load = "1"b; 420 Controllerx = 1; 421 return ("1"b); 422 end; 423 else do; 424 call ioa_ ("^a is not a decimal number or ipc.", Model); 425 call ioa_ ("An example of MPC model numbers is: MSP0600 -> 600 ."); 426 return ("0"b); 427 end; 428 end; 429 430 do x = 1 to config_data_$mpc_msp_model_names.count; 431 if sys_boot_info$disk_mpc_model_number = config_data_$mpc_msp_model_names.names (x).model 432 then do; 433 Controllerx = x; 434 controller_fwid = config_data_$mpc_msp_model_names.names (Controllerx).fw_tag; 435 ipc_controller = "0"b; 436 return ("1"b); 437 end; 438 end; 439 440 441 call ioa_ ("^a: ^d is not a known disk MPC model number.", ME, sys_boot_info$disk_mpc_model_number); 442 return ("0"b); 443 end CHECK_MPC_MODEL; 444 445 446 CHECK_DRIVE_MODEL: 447 procedure (Model) returns (bit (1) aligned); 448 declare Model char (*); 449 declare x fixed bin; 450 451 sys_boot_info$disk_model_number = cv_dec_check_ (Model, code); 452 if code ^= 0 453 then do; 454 bad_drive_model: 455 call ioa_ ("^a is not a valid decimal number.", Model); 456 call ioa_ ("An example of a drive model number is: MSU0451 -> 451."); 457 return ("0"b); 458 end; 459 do x = 1 to hbound (MODELN, 1) while (MODELN (x) ^= sys_boot_info$disk_model_number); 460 end; 461 if x > hbound (MODELN, 1) 462 then goto bad_drive_model; 463 if number_of_sv (x) > 1 464 then sys_boot_info$disk_device_has_sv = "1"b; 465 if ipc_controller 466 then do x = 1 to hbound (config_data_$ipc_msp_model_names.valid_drives, 2); 467 if sys_boot_info$disk_model_number 468 = config_data_$ipc_msp_model_names.names (controllerx).valid_drives (x) 469 then return ("1"b); 470 end; 471 472 else do x = 1 to hbound (config_data_$mpc_msp_model_names.valid_drives, 2); 473 if sys_boot_info$disk_model_number 474 = config_data_$mpc_msp_model_names.names (controllerx).valid_drives (x) 475 then return ("1"b); 476 end; 477 478 call ioa_ ("Drive model ^d is not supported on MPC model ^d.", sys_boot_info$disk_model_number, 479 sys_boot_info$disk_mpc_model_number); 480 return ("0"b); 481 482 end CHECK_DRIVE_MODEL; 483 484 485 CHECK_DRIVE_NUMBER: 486 procedure (Number) returns (bit (1) aligned); 487 declare Number char (*); 488 declare starting_dev fixed bin; 489 declare last_dev fixed bin; 490 declare x fixed bin; 491 declare max_sv fixed bin; 492 declare number char (8); 493 declare valid_sv_subarray (max_sv) char (1) based (addr (valid_sv_string)); 494 if sys_boot_info$disk_device_has_sv 495 then do; 496 do x = 1 to hbound (MODELN, 1) while (MODELN (x) ^= sys_boot_info$disk_model_number); 497 end; 498 max_sv = number_of_sv (x); 499 x = search (Number, substr (valid_sv_string, 1, max_sv)); 500 if x = 0 501 then do; 502 call ioa_ ("^d devices have ^d subvolumes ^a^( or ^a^)", sys_boot_info$disk_model_number, 503 max_sv, valid_sv_subarray); 504 call ioa_ ("An example: 05b would indicate subvolume 2"); 505 return ("0"b); 506 end; 507 else do; 508 number = substr (Number, 1, (x - 1)); 509 sys_boot_info$disk_device_sv = index (valid_sv_string, substr (Number, x, 1)) - 1; 510 end; 511 end; 512 else number = Number; 513 sys_boot_info$disk_device_number = cv_dec_check_ (number, code); 514 if code ^= 0 515 then do; 516 call ioa_ ("^a is not a valid decimal number.", Number); 517 return ("0"b); 518 end; 519 last_dev = 0; 520 521 /* The sys_boot_info$disk_model_number has been validated by CHECK_DRIVE_MODEL 522* before this code is executed */ 523 524 do x = 1 to hbound (config_data_$disk_drive_model_names.names, 1) while (last_dev = 0); 525 if sys_boot_info$disk_model_number = config_data_$disk_drive_model_names.model (x) 526 then do; 527 if config_data_$disk_drive_model_names.device_0_valid (x) 528 then do; 529 starting_dev = 0; 530 last_dev = 31; 531 end; 532 else do; 533 starting_dev = 1; 534 last_dev = 63; 535 end; 536 end; 537 end; 538 539 if sys_boot_info$disk_device_number > last_dev | sys_boot_info$disk_device_number < starting_dev 540 then do; 541 call ioa_ ("Device numbers may range from ^d to ^d. ^d is invalid.", starting_dev, last_dev, 542 sys_boot_info$disk_device_number); 543 return ("0"b); 544 end; 545 return ("1"b); 546 end CHECK_DRIVE_NUMBER; 547 548 LOAD_FIRMWARE: 549 procedure (loaded); 550 551 declare loaded bit (1) aligned; 552 553 loaded = "0"b; 554 555 call boot_rpv_subsystem (controller_fwid, code); 556 if code = 0 557 then do; 558 loaded = "1"b; 559 return; 560 end; 561 562 call com_err_ (code, ME, "Firmware load failed."); 563 return; 564 end LOAD_FIRMWARE; 565 566 567 LOAD_MPC: 568 procedure returns (bit (1) aligned); 569 declare yes_no bit (1) aligned; 570 571 if skip_firmware_load 572 then do; 573 loaded_firmware = "1"b; 574 return ("1"b); 575 end; 576 loaded_firmware = "0"b; 577 578 call hc_load_mpc$test_controller ((sys_boot_info$disk_mpc_chanid), code); 579 if code = 0 580 then do; 581 loaded_firmware = "1"b; 582 return ("1"b); 583 end; 584 585 if code ^= error_table_$device_not_active 586 then do; 587 call com_err_ (code, ME, "Error testing mpc on channel ^a.", sys_boot_info$disk_mpc_chanid); 588 call ioa_ ("The channel may be incorrect. Please reenter."); 589 sys_boot_info$boot_without_query = "0"b; 590 go to RETRY; 591 end; 592 593 do while ("1"b); 594 call LOAD_FIRMWARE (loaded_firmware); 595 596 if loaded_firmware 597 then return ("1"b); 598 599 call ioa_ ("^a: Firmware load failed for ^d disk MPC on base channel ^a.", ME, 600 sys_boot_info$disk_mpc_model_number, sys_boot_info$disk_mpc_chanid); 601 call bce_query$yes_no (yes_no, "^a: Do you want to retry firmware load with the same parameters? ", ME); 602 if ^yes_no 603 then return ("0"b); 604 end; 605 end LOAD_MPC; 606 607 SHUTDOWN_REQUESTED: 608 call syserr (CRASH, "^a: Shutdown.", ME); 609 610 null_entry_: 611 entry; 612 end find_rpv_subsystem; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0815.8 find_rpv_subsystem.pl1 >spec>install>1112>find_rpv_subsystem.pl1 98 1 10/30/86 2010.5 fs_dev_types.incl.pl1 >ldd>include>fs_dev_types.incl.pl1 1-142 2 07/24/86 2051.8 fs_dev_types_sector.incl.pl1 >ldd>include>fs_dev_types_sector.incl.pl1 99 3 07/11/84 0937.3 io_chnl_util_dcls.incl.pl1 >ldd>include>io_chnl_util_dcls.incl.pl1 100 4 10/30/86 2010.5 config_data_dcls.incl.pl1 >ldd>include>config_data_dcls.incl.pl1 101 5 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.incl.pl1 219 6 10/21/86 1251.6 bce_subsystem_info_.incl.pl1 >ldd>include>bce_subsystem_info_.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. Arg_list_ptr parameter pointer dcl 317 in procedure "SKIP" ref 315 Arg_list_ptr parameter pointer dcl 299 in procedure "HELP" ref 297 CRASH 000120 constant fixed bin(17,0) initial dcl 5-7 set ref 607* Chanid parameter char packed unaligned dcl 388 set ref 386 390 395* Code parameter fixed bin(35,0) dcl 274 set ref 271 277* 291* Command parameter char packed unaligned dcl 273 ref 271 278 278 280 282 284 286 288 288 Controllerx parameter fixed bin(17,0) dcl 407 set ref 404 420* 433* 434 Info_ptr parameter pointer dcl 325 in procedure "WARM" ref 323 336 340 Info_ptr parameter pointer dcl 275 in procedure "CF" ref 271 ME 000023 constant char(32) initial packed unaligned dcl 94 set ref 138* 170* 185* 194* 200* 205* 240* 245* 256* 380* 441* 562* 587* 599* 601* 607* MODELN 000012 constant fixed bin(17,0) initial array dcl 1-63 ref 459 459 461 496 496 Model parameter char packed unaligned dcl 448 in procedure "CHECK_DRIVE_MODEL" set ref 446 451* 454* Model parameter char packed unaligned dcl 406 in procedure "CHECK_MPC_MODEL" set ref 404 410* 414 424* Number parameter char packed unaligned dcl 487 set ref 485 499 508 509 512 516* abort_label 2 based label variable level 2 dcl 6-15 set ref 230* addr builtin function dcl 96 ref 228 502 al 000102 automatic fixed bin(21,0) dcl 327 set ref 351* 352 352 355* 356 356 359* 360 360 363* 364 364 answer 000100 automatic char(32) packed unaligned dcl 84 set ref 120* 122* 123* 126* 127* 130* 132* 170* 172 172 179 179 182* 185* 188* 194* 197* 200* 203* ap 000100 automatic pointer dcl 326 set ref 351* 352 355* 356 359* 360 363* 364 arg based char packed unaligned dcl 328 set ref 352* 356* 360* 364* arg_count 000103 automatic fixed bin(17,0) dcl 329 set ref 342* 343 arg_list_ptr 000104 automatic pointer dcl 330 in procedure "WARM" set ref 340* 342* 351* 355* 359* 363* arg_list_ptr 16 based pointer level 2 in structure "ss_info" dcl 6-15 in procedure "QUERY_BRIEF" set ref 232* 340 bce_command_processor_ 000072 constant entry external dcl 220 ref 247 bce_query 000036 constant entry external dcl 72 ref 170 185 194 200 245 bce_query$yes_no 000040 constant entry external dcl 73 ref 205 240 380 601 boot_rpv_subsystem 000042 constant entry external dcl 74 ref 555 code 000126 automatic fixed bin(35,0) dcl 93 in procedure "find_rpv_subsystem" set ref 392* 393 410* 412 451* 452 513* 514 555* 556 562* 578* 579 585 587* code 000213 automatic fixed bin(35,0) dcl 225 in procedure "QUERY_BRIEF" set ref 247* 249 254 256* cold 000106 automatic bit(1) dcl 331 set ref 333* 339* 367 cold_boot 000110 automatic bit(1) dcl 86 set ref 108* 153 162* 168* 170 172 174* 205* 370* com_err_ 000044 constant entry external dcl 75 ref 256 562 587 config_data_$disk_drive_model_names 000070 external static structure level 1 dcl 4-148 config_data_$ipc_msp_model_names 000066 external static structure level 1 dcl 4-130 config_data_$mpc_msp_model_names 000064 external static structure level 1 dcl 4-104 controller_fwid 000116 automatic char(32) packed unaligned dcl 92 set ref 434* 555* controllerx 000115 automatic fixed bin(17,0) dcl 91 set ref 123* 188* 205 356* 467 473 convert builtin function dcl 96 ref 122 126 count 000064 external static fixed bin(17,0) level 2 dcl 4-104 ref 430 cu_$arg_count_rel 000074 constant entry external dcl 222 ref 342 cu_$arg_ptr_rel 000076 constant entry external dcl 223 ref 351 355 359 363 cv_dec_check_ 000060 constant entry external dcl 82 ref 410 451 513 device_0_valid 4 000070 external static bit(1) array level 3 dcl 4-148 ref 527 error_table_$bad_command_name 000010 external static fixed bin(35,0) dcl 49 ref 291 error_table_$device_not_active 000012 external static fixed bin(35,0) dcl 51 ref 585 flags 22 based structure level 2 dcl 6-15 set ref 234* forbid_semicolons 22 based bit(1) level 3 packed packed unaligned dcl 6-15 set ref 235* fw_tag 4 000064 external static char(16) array level 3 dcl 4-104 ref 434 hbound builtin function dcl 96 ref 459 461 465 472 496 524 hc_load_mpc$test_controller 000046 constant entry external dcl 76 ref 578 index builtin function dcl 96 ref 509 info_ptr 20 based pointer level 2 dcl 6-15 set ref 233* init_early_config$disk 000054 constant entry external dcl 80 ref 154 io_chnl_util$name_to_iom 000062 constant entry external dcl 3-16 ref 392 ioa_ 000050 constant entry external dcl 78 ref 138 139 251 301 302 303 304 305 306 307 308 309 310 311 347 395 396 397 424 425 441 454 456 478 502 504 516 541 588 599 ioa_$rsnnl 000052 constant entry external dcl 79 ref 130 ipc_controller 000114 automatic bit(1) initial dcl 90 set ref 90* 418* 435* 465 last_dev 000101 automatic fixed bin(17,0) dcl 489 set ref 519* 524 530* 534* 539 541* line 000152 automatic char(132) packed unaligned dcl 224 set ref 239* 240* 243* 245* 247* loaded parameter bit(1) dcl 551 set ref 548 553* 558* loaded_firmware 000112 automatic bit(1) dcl 88 set ref 107* 135* 136 143 573* 576* 581* 594* 596 max_sv 000103 automatic fixed bin(17,0) dcl 491 set ref 498* 499 502* 502 model 1 000070 external static fixed bin(17,0) array level 3 in structure "config_data_$disk_drive_model_names" dcl 4-148 in procedure "find_rpv_subsystem" ref 525 model 1 000064 external static fixed bin(17,0) array level 3 in structure "config_data_$mpc_msp_model_names" dcl 4-104 in procedure "find_rpv_subsystem" ref 431 my_ss_info 000214 automatic structure level 1 dcl 226 set ref 228 name 6 based char(32) level 2 in structure "ss_info" packed packed unaligned dcl 6-15 in procedure "QUERY_BRIEF" set ref 231* name 2 000064 external static char(8) array level 3 in structure "config_data_$mpc_msp_model_names" dcl 4-104 in procedure "find_rpv_subsystem" set ref 205* names 1 000064 external static structure array level 2 in structure "config_data_$mpc_msp_model_names" dcl 4-104 in procedure "find_rpv_subsystem" names 1 000070 external static structure array level 2 in structure "config_data_$disk_drive_model_names" dcl 4-148 in procedure "find_rpv_subsystem" ref 524 names 1 000066 external static structure array level 2 in structure "config_data_$ipc_msp_model_names" dcl 4-130 in procedure "find_rpv_subsystem" null builtin function dcl 96 ref 229 232 233 number 000104 automatic char(8) packed unaligned dcl 492 set ref 508* 512* 513* number_of_sv 000001 constant fixed bin(17,0) initial array dcl 1-93 ref 463 498 pz999 based picture(4) packed unaligned dcl 85 ref 122 126 request_table_ptr based pointer level 2 dcl 6-15 set ref 229* search builtin function dcl 96 ref 499 seek_command 000130 automatic bit(6) initial array packed unaligned dcl 1-84 set ref 1-84* 1-84* 1-84* 1-84* 1-84* 1-84* 1-84* 1-84* 1-84* skip_firmware_load 000113 automatic bit(1) dcl 89 set ref 105* 319* 419* 571 ss_info based structure level 1 dcl 6-15 ss_info_ptr 000150 automatic pointer dcl 6-14 set ref 228* 229 230 231 232 233 234 235 247* starting_dev 000100 automatic fixed bin(17,0) dcl 488 set ref 529* 533* 539 541* string builtin function dcl 96 set ref 234* substr builtin function dcl 96 ref 499 508 509 sys_boot_info$boot_without_query 000020 external static bit(1) dcl 57 set ref 109 145* 589* sys_boot_info$default_rpv_data 000014 external static char(24) packed unaligned dcl 53 ref 237 239 sys_boot_info$disk_device_has_sv 000022 external static bit(1) dcl 59 set ref 130* 205* 463* 494 sys_boot_info$disk_device_number 000026 external static fixed bin(6,0) dcl 63 set ref 130* 205* 513* 539 539 541* sys_boot_info$disk_device_sv 000024 external static fixed bin(17,0) dcl 61 set ref 130 205 509* sys_boot_info$disk_model_number 000030 external static fixed bin(17,0) dcl 65 set ref 126 205* 451* 459 467 473 478* 496 502* 525 sys_boot_info$disk_mpc_chanid 000032 external static char(8) packed unaligned dcl 67 set ref 117* 205* 390* 392 578 587* 599* sys_boot_info$disk_mpc_model_number 000034 external static fixed bin(17,0) dcl 69 set ref 120 122 205 410* 416* 431 441* 478* 599* sys_boot_info$rpv_cold_boot 000016 external static bit(1) dcl 55 set ref 153* syserr 000056 constant entry external dcl 81 ref 607 translate builtin function dcl 96 ref 390 valid_drives 10 000066 external static fixed bin(17,0) array level 3 in structure "config_data_$ipc_msp_model_names" packed packed unaligned dcl 4-130 in procedure "find_rpv_subsystem" ref 465 467 valid_drives 10 000064 external static fixed bin(17,0) array level 3 in structure "config_data_$mpc_msp_model_names" packed packed unaligned dcl 4-104 in procedure "find_rpv_subsystem" ref 472 473 valid_sv_array constant char(1) initial array packed unaligned dcl 1-99 set ref 130* 205* valid_sv_string 000000 constant char(3) initial packed unaligned dcl 1-96 set ref 499 502 509 valid_sv_subarray based char(1) array packed unaligned dcl 493 set ref 502* x 000102 automatic fixed bin(17,0) dcl 490 in procedure "CHECK_DRIVE_NUMBER" set ref 496* 496* 498 499* 500 508 509 524* 525 527* x 000100 automatic fixed bin(17,0) dcl 449 in procedure "CHECK_DRIVE_MODEL" set ref 459* 459* 461 463 465* 467* 472* 473* x 000100 automatic fixed bin(17,0) dcl 408 in procedure "CHECK_MPC_MODEL" set ref 430* 431 433* yes_no 000111 automatic bit(1) packed unaligned dcl 87 in procedure "find_rpv_subsystem" set ref 205* 210 240* 241 yes_no 000100 automatic bit(1) dcl 379 in procedure "CHECK_COLD" set ref 380* 382 yes_no 000254 automatic bit(1) dcl 569 in procedure "LOAD_MPC" set ref 601* 602 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANNOUNCE internal static fixed bin(17,0) initial dcl 5-7 BEEP internal static fixed bin(17,0) initial dcl 5-7 JUST_LOG internal static fixed bin(17,0) initial dcl 5-7 LOG internal static fixed bin(17,0) initial dcl 5-7 MODEL internal static fixed bin(17,0) initial array dcl 1-57 MODELX internal static fixed bin(17,0) initial array dcl 1-60 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 5-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 bulkdevt internal static fixed bin(4,0) initial dcl 1-43 config_data_$ccu_model_names external static structure level 1 dcl 4-178 config_data_$chnl_cardx external static fixed bin(17,0) dcl 4-27 config_data_$clok_cardx external static fixed bin(17,0) dcl 4-29 config_data_$config_cards external static structure level 1 dcl 4-94 config_data_$console_model_names external static structure level 1 dcl 4-192 config_data_$cpu_cardx external static fixed bin(17,0) dcl 4-31 config_data_$fnp_cardx external static fixed bin(17,0) dcl 4-33 config_data_$intk_cardx external static fixed bin(17,0) dcl 4-35 config_data_$iom_cardx external static fixed bin(17,0) dcl 4-37 config_data_$ipc_fips_cardx external static fixed bin(17,0) dcl 4-45 config_data_$ipc_mtp_model_names external static structure level 1 dcl 4-139 config_data_$mem_cardx external static fixed bin(17,0) dcl 4-39 config_data_$mpc_cardx external static fixed bin(17,0) dcl 4-49 config_data_$mpc_msp_cardx external static fixed bin(17,0) dcl 4-41 config_data_$mpc_mtp_cardx external static fixed bin(17,0) dcl 4-43 config_data_$mpc_mtp_model_names external static structure level 1 dcl 4-113 config_data_$mpc_urp_cardx external static fixed bin(17,0) dcl 4-47 config_data_$mpc_urp_model_names external static structure level 1 dcl 4-122 config_data_$mpcs_cardx external static fixed bin(17,0) dcl 4-57 config_data_$mpcs_msp_cardx external static fixed bin(17,0) dcl 4-51 config_data_$mpcs_mtp_cardx external static fixed bin(17,0) dcl 4-53 config_data_$mpcs_urp_cardx external static fixed bin(17,0) dcl 4-55 config_data_$parm_cardx external static fixed bin(17,0) dcl 4-59 config_data_$part_cardx external static fixed bin(17,0) dcl 4-61 config_data_$printer_model_names external static structure level 1 dcl 4-164 config_data_$prph_cardx external static fixed bin(17,0) dcl 4-77 config_data_$prph_ccu_cardx external static fixed bin(17,0) dcl 4-71 config_data_$prph_dsk_cardx external static fixed bin(17,0) dcl 4-63 config_data_$prph_opc_cardx external static fixed bin(17,0) dcl 4-75 config_data_$prph_prt_cardx external static fixed bin(17,0) dcl 4-65 config_data_$prph_pun_cardx external static fixed bin(17,0) dcl 4-69 config_data_$prph_rdr_cardx external static fixed bin(17,0) dcl 4-67 config_data_$prph_tap_cardx external static fixed bin(17,0) dcl 4-73 config_data_$punch_model_names external static structure level 1 dcl 4-185 config_data_$reader_model_names external static structure level 1 dcl 4-171 config_data_$root_cardx external static fixed bin(17,0) dcl 4-79 config_data_$salv_cardx external static fixed bin(17,0) dcl 4-81 config_data_$schd_cardx external static fixed bin(17,0) dcl 4-83 config_data_$sst_cardx external static fixed bin(17,0) dcl 4-85 config_data_$stok_cardx external static fixed bin(17,0) dcl 4-87 config_data_$tape_drive_model_names external static structure level 1 dcl 4-156 config_data_$tbls_cardx external static fixed bin(17,0) dcl 4-89 config_data_$udsk_cardx external static fixed bin(17,0) dcl 4-91 cyl_per_dev internal static fixed bin(17,0) initial array dcl 1-102 cyl_per_sv internal static fixed bin(17,0) initial array dcl 1-105 dev_time internal static float bin(27) initial array dcl 1-139 device_names internal static char(4) initial array dcl 1-66 dsu181devt internal static fixed bin(4,0) initial dcl 1-43 dsu190devt internal static fixed bin(4,0) initial dcl 1-43 dsu191devt internal static fixed bin(4,0) initial dcl 1-43 fips3380devt internal static fixed bin(4,0) initial dcl 1-43 fips3381devt internal static fixed bin(4,0) initial dcl 1-43 fips_type_disk internal static bit(1) initial array packed unaligned dcl 1-72 first_alt_sect_num internal static fixed bin(24,0) initial array dcl 1-130 first_dev_number internal static fixed bin(17,0) initial array dcl 1-69 first_rec_num internal static fixed bin(17,0) initial array dcl 1-115 first_sect_num internal static fixed bin(24,0) initial array dcl 1-124 io_chnl_util$canonicalize_chanid 000000 constant entry external dcl 3-8 io_chnl_util$iom_to_name 000000 constant entry external dcl 3-12 last_alt_sect_num internal static fixed bin(24,0) initial array dcl 1-133 last_physical_sect_num internal static fixed bin(24,0) initial array dcl 1-136 last_rec_num internal static fixed bin(18,0) initial array dcl 1-118 last_sect_num internal static fixed bin(24,0) initial array dcl 1-127 last_sv_rec_num internal static fixed bin(18,0) initial array dcl 1-121 maxdevt internal static fixed bin(4,0) initial dcl 1-43 media_removable internal static bit(1) initial array packed unaligned dcl 1-75 msu0400devt internal static fixed bin(4,0) initial dcl 1-43 msu0450devt internal static fixed bin(4,0) initial dcl 1-43 msu0451devt internal static fixed bin(4,0) initial dcl 1-43 msu0500devt internal static fixed bin(4,0) initial dcl 1-43 msu0501devt internal static fixed bin(4,0) initial dcl 1-43 needs_alt_part internal static bit(1) initial array packed unaligned dcl 1-81 rec_per_cyl internal static fixed bin(17,0) initial array dcl 1-108 rec_per_dev internal static fixed bin(21,0) initial array dcl 1-87 rec_per_sv internal static fixed bin(17,0) initial array dcl 1-90 sect_per_cyl internal static fixed bin(17,0) initial array dcl 2-15 sect_per_rec internal static fixed bin(17,0) initial array dcl 2-21 sect_per_sv internal static fixed bin(24,0) initial array dcl 2-18 sect_per_track internal static fixed bin(17,0) initial array dcl 2-33 sect_per_vtoc internal static fixed bin(17,0) initial array dcl 2-26 shared_spindle internal static bit(1) initial array packed unaligned dcl 1-78 tracks_per_cyl internal static fixed bin(17,0) initial array dcl 1-111 vtoc_per_rec internal static fixed bin(17,0) initial array dcl 2-29 words_per_sect internal static fixed bin(17,0) initial array dcl 2-36 NAMES DECLARED BY EXPLICIT CONTEXT. AGAIN 002246 constant label dcl 245 ref 252 257 262 312 320 348 352 356 360 364 367 ASK_AGAIN 001567 constant label dcl 168 set ref 191 210 CF 002414 constant entry internal dcl 271 ref 247 247 CHECK_CHANNEL 003413 constant entry internal dcl 386 ref 117 182 352 CHECK_COLD 003355 constant entry internal dcl 377 ref 174 367 CHECK_DRIVE_MODEL 003761 constant entry internal dcl 446 ref 127 197 360 CHECK_DRIVE_NUMBER 004235 constant entry internal dcl 485 ref 132 203 364 CHECK_MPC_MODEL 003552 constant entry internal dcl 404 ref 123 188 356 COLD 003010 constant entry internal dcl 336 ref 284 COLD_ASK_CHANNEL 001570 constant label dcl 170 set ref 176 182 COMMON 003017 constant label dcl 340 in procedure "WARM" ref 334 COMMON 002407 constant label dcl 374 in procedure "QUERY_BRIEF" EXPAND_LINE 002272 constant label dcl 247 ref 241 HELP 002550 constant entry internal dcl 297 ref 278 LOAD_FIRMWARE 004557 constant entry internal dcl 548 ref 594 LOAD_MPC 004632 constant entry internal dcl 567 ref 135 191 262 QUERY 001553 constant entry internal dcl 159 ref 109 QUERY_BRIEF 002157 constant entry internal dcl 216 ref 165 RESET_N_RETRY 001477 constant label dcl 145 ref 117 123 127 132 RETRY 001220 constant label dcl 105 ref 147 590 RETURN_FAILURE 002404 constant label dcl 267 ref 230 280 RETURN_SUCCESS 002373 constant label dcl 262 ref 371 RE_ASK_DRIVE 002016 constant label dcl 200 ref 203 RE_ASK_DRIVE_MODEL 001754 constant label dcl 194 ref 197 RE_ASK_SUBSYSTEM 001701 constant label dcl 185 ref 188 SHUTDOWN_REQUESTED 001513 constant label dcl 607 ref 179 286 SKIP 002764 constant entry internal dcl 315 ref 288 SYNTAX 003043 constant label dcl 343 WARM 003000 constant entry internal dcl 323 ref 282 bad_drive_model 004023 constant label dcl 454 set ref 461 find_rpv_subsystem 001212 constant entry external dcl 40 null_entry_ 001544 constant entry external dcl 610 ref 292 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5752 6052 5263 5762 Length 6510 5263 100 421 467 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME find_rpv_subsystem 464 external procedure is an external procedure. QUERY internal procedure shares stack frame of external procedure find_rpv_subsystem. QUERY_BRIEF internal procedure shares stack frame of external procedure find_rpv_subsystem. CF 65 internal procedure is assigned to an entry variable. HELP 123 internal procedure is assigned to an entry variable, and is declared options(non_quick). SKIP 64 internal procedure is assigned to an entry variable, and is declared options(non_quick). WARM 120 internal procedure is assigned to an entry variable. CHECK_COLD 104 internal procedure is called by several nonquick procedures. CHECK_CHANNEL 105 internal procedure is called by several nonquick procedures. CHECK_MPC_MODEL 106 internal procedure is called by several nonquick procedures. CHECK_DRIVE_MODEL 106 internal procedure is called by several nonquick procedures. CHECK_DRIVE_NUMBER 124 internal procedure is called by several nonquick procedures. LOAD_FIRMWARE internal procedure shares stack frame of external procedure find_rpv_subsystem. LOAD_MPC internal procedure shares stack frame of external procedure find_rpv_subsystem. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME CHECK_COLD 000100 yes_no CHECK_COLD CHECK_DRIVE_MODEL 000100 x CHECK_DRIVE_MODEL CHECK_DRIVE_NUMBER 000100 starting_dev CHECK_DRIVE_NUMBER 000101 last_dev CHECK_DRIVE_NUMBER 000102 x CHECK_DRIVE_NUMBER 000103 max_sv CHECK_DRIVE_NUMBER 000104 number CHECK_DRIVE_NUMBER CHECK_MPC_MODEL 000100 x CHECK_MPC_MODEL WARM 000100 ap WARM 000102 al WARM 000103 arg_count WARM 000104 arg_list_ptr WARM 000106 cold WARM find_rpv_subsystem 000100 answer find_rpv_subsystem 000110 cold_boot find_rpv_subsystem 000111 yes_no find_rpv_subsystem 000112 loaded_firmware find_rpv_subsystem 000113 skip_firmware_load find_rpv_subsystem 000114 ipc_controller find_rpv_subsystem 000115 controllerx find_rpv_subsystem 000116 controller_fwid find_rpv_subsystem 000126 code find_rpv_subsystem 000130 seek_command find_rpv_subsystem 000150 ss_info_ptr QUERY_BRIEF 000152 line QUERY_BRIEF 000213 code QUERY_BRIEF 000214 my_ss_info QUERY_BRIEF 000254 yes_no LOAD_MPC THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_char_temp call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return_mac move_label_var make_label_var tra_ext_1 signal_op shorten_stack ext_entry int_entry int_entry_desc search_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. bce_command_processor_ bce_query bce_query$yes_no boot_rpv_subsystem com_err_ cu_$arg_count_rel cu_$arg_ptr_rel cv_dec_check_ hc_load_mpc$test_controller init_early_config$disk io_chnl_util$name_to_iom ioa_ ioa_$rsnnl syserr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. config_data_$disk_drive_model_names config_data_$ipc_msp_model_names config_data_$mpc_msp_model_names error_table_$bad_command_name error_table_$device_not_active sys_boot_info$boot_without_query sys_boot_info$default_rpv_data sys_boot_info$disk_device_has_sv sys_boot_info$disk_device_number sys_boot_info$disk_device_sv sys_boot_info$disk_model_number sys_boot_info$disk_mpc_chanid sys_boot_info$disk_mpc_model_number sys_boot_info$rpv_cold_boot LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 90 001117 1 84 001120 40 001211 105 001220 107 001221 108 001222 109 001223 117 001230 120 001247 122 001257 123 001272 126 001315 127 001331 130 001350 132 001414 135 001433 136 001435 138 001440 139 001460 143 001474 145 001477 147 001501 153 001502 154 001506 156 001512 607 001513 610 001542 612 001552 159 001553 162 001554 165 001555 168 001567 170 001570 172 001623 174 001636 176 001651 179 001652 182 001662 185 001701 188 001724 191 001747 194 001754 197 001777 200 002016 203 002041 205 002060 210 002153 213 002156 216 002157 228 002161 229 002163 230 002165 231 002170 232 002173 233 002174 234 002175 235 002176 237 002200 239 002206 240 002211 241 002240 243 002243 245 002246 247 002272 249 002322 251 002325 252 002343 254 002344 256 002346 257 002372 262 002373 265 002400 267 002404 374 002407 271 002413 277 002427 278 002431 280 002450 282 002457 284 002474 286 002506 288 002515 291 002536 292 002541 297 002547 301 002555 302 002570 303 002604 304 002620 305 002634 306 002650 307 002664 308 002700 309 002714 310 002730 311 002744 312 002760 315 002763 319 002771 320 002774 323 002777 333 003005 334 003006 336 003007 339 003015 340 003017 342 003024 343 003040 347 003043 348 003057 351 003062 352 003104 355 003132 356 003154 359 003207 360 003231 363 003257 364 003301 367 003327 370 003346 371 003351 377 003354 380 003362 382 003405 386 003412 390 003426 392 003441 393 003465 395 003470 396 003512 397 003526 398 003542 400 003545 404 003551 410 003565 412 003611 414 003614 416 003623 418 003625 419 003627 420 003630 421 003632 424 003634 425 003654 426 003670 430 003673 431 003703 433 003712 434 003715 435 003723 436 003724 438 003727 441 003731 442 003755 446 003760 451 003774 452 004020 454 004023 456 004045 457 004061 459 004064 460 004075 461 004077 463 004102 465 004110 467 004121 470 004146 472 004151 473 004157 476 004204 478 004206 480 004231 485 004234 494 004250 496 004253 497 004265 498 004267 499 004272 500 004301 502 004302 504 004341 505 004355 508 004360 509 004365 511 004377 512 004400 513 004405 514 004430 516 004433 517 004454 519 004457 524 004460 525 004467 527 004500 529 004502 530 004503 531 004505 533 004506 534 004510 537 004512 539 004514 541 004522 543 004550 545 004553 548 004557 553 004561 555 004562 556 004577 558 004601 559 004604 562 004605 563 004631 567 004632 571 004634 573 004636 574 004640 576 004642 578 004643 579 004660 581 004662 582 004664 585 004667 587 004672 588 004721 589 004735 590 004737 594 004740 596 004742 599 004751 601 005001 602 005025 604 005033 605 005034 ----------------------------------------------------------- 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