COMPILATION LISTING OF SEGMENT create_root_vtoce 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 0948.9 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 create_root_vtoce: 9 procedure; 10 11 /* format: style4,indattr,ifthenstmt,ifthen,idind35,^indcomtxt */ 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(82-02-01,Hornig), approve(), audit(), install(): 16* Written by C. Hornig. 17* 2) change(84-11-01,Loepere), approve(), audit(), install(): 18* Modified by Keith Loepere to update label when done. 19* 3) change(86-02-01,Fawcett), approve(86-05-27,MCR7417), 20* audit(86-08-18,Hartogs), install(86-08-19,MR12.0-1120): 21* Modified to check for root vtoce not a zero. 22* END HISTORY COMMENTS */ 23 24 25 dcl pvt$root_pvid bit (36) aligned external; 26 dcl pvt$root_pvtx fixed bin external; 27 dcl pvt$root_vtocx fixed bin external; 28 dcl sys_info$default_dir_max_length fixed bin external; 29 dcl sys_info$time_of_bootload fixed bin (71) external; 30 31 dcl dbm_man$set_incr entry (fixed bin, fixed bin, fixed bin (35)); 32 dcl read_disk entry (fixed bin, fixed bin (17), ptr, fixed bin (35)); 33 dcl syserr entry options (variable); 34 dcl syserr$error_code entry options (variable); 35 dcl vtoc_man$alloc_and_put_vtoce entry (bit (36) aligned, fixed bin, ptr, fixed bin (35)) returns (fixed bin); 36 dcl write_disk entry (fixed bin, fixed bin (17), ptr, fixed bin (35)); 37 38 dcl code fixed bin (35); 39 dcl 1 local_label aligned like label; 40 dcl 1 local_vtoce aligned like vtoce; 41 42 dcl (addr, binary, bit, clock, divide, unspec) builtin; 43 44 /* * * * * * * * * * CREATE_ROOT_VTOCE * * * * * * * * * */ 45 46 unspec (local_vtoce) = ""b; 47 local_vtoce.uid = "777777777777"b3; /* Fill in new VTOC entry */ 48 local_vtoce.msl = bit (divide (sys_info$default_dir_max_length, 1024, 9, 0)); 49 local_vtoce.csl = "0"b; 50 local_vtoce.records = "0"b; 51 local_vtoce.dtm, local_vtoce.dtu = bit (binary (sys_info$time_of_bootload, 52)); 52 local_vtoce.nqsw = "1"b; /* The root's immune (saves nasty recursion) */ 53 local_vtoce.dirsw = "1"b; 54 local_vtoce.master_dir = "1"b; 55 local_vtoce.quota (*) = binary ("777777"b3, 18); /* Biggest quota possible */ 56 local_vtoce.used (*) = 0; 57 local_vtoce.received (*) = 0; 58 local_vtoce.trp (*) = 0; 59 local_vtoce.trp_time (*) = local_vtoce.dtm; 60 local_vtoce.primary_name = ">"; /* Fill in info for salvager */ 61 local_vtoce.branch_rp = "0"b; 62 local_vtoce.time_created = local_vtoce.dtm; 63 local_vtoce.par_pvid = pvt$root_pvid; 64 local_vtoce.par_vtocx = -1; 65 local_vtoce.uid_path (*) = "0"b; 66 local_vtoce.fm (*) = create_vtoce_null_addr; 67 68 pvt$root_vtocx = vtoc_man$alloc_and_put_vtoce ("0"b, pvt$root_pvtx, addr (local_vtoce), code); 69 if code ^= 0 then call syserr$error_code (SYSERR_CRASH_SYSTEM, code, "create_root_vtoce: Cannot alloc-write root VTOCE."); 70 71 /* if the first free vtoce on rpv is not vtoc 0 then the cold boot was not preceeded by an rpv init_vol */ 72 73 if pvt$root_vtocx ^= 0 then 74 call syserr (SYSERR_CRASH_SYSTEM, "create_root_vtoce: Root vtoce not allocated at 0, RPV not initialized."); 75 76 call read_disk (pvt$root_pvtx, LABEL_ADDR, addr (local_label), code); 77 if code ^= 0 then go to RPV_error; 78 79 local_label.root_vtocx = pvt$root_vtocx; 80 local_label.time_registered = clock; 81 82 call write_disk (pvt$root_pvtx, LABEL_ADDR, addr (local_label), code); 83 if code ^= 0 then 84 RPV_error: 85 call syserr$error_code (SYSERR_CRASH_SYSTEM, code, "create_root_vtoce: Cannot set root_vtocx in RPV label."); 86 87 call dbm_man$set_incr (pvt$root_pvtx, pvt$root_vtocx, code); 88 if code ^= 0 then call syserr (SYSERR_PRINT_ON_CONSOLE, "create_root_vtoce: Cannot set dmpr bit map for root."); 89 return; 90 1 1 /* BEGIN INCLUDE FILE...disk_pack.incl.pl1 Last Modified January 1982 for new volume map */ 1 2 1 3 1 4 1 5 1 6 /****^ HISTORY COMMENTS: 1 7* 1) change(86-01-14,Fawcett), approve(86-05-13,MCR7383), 1 8* audit(86-05-14,LJAdams), install(86-07-18,MR12.0-1098): 1 9* Add vars PAGE_SIZE and VTOCE_SIZE, Also change the SECTORS_PER_VTOCE and 1 10* VTOCES_PER_RECORD form fixed bin constants to arrays of fixed bin 1 11* constants indexed by device type as defined in fs_dev_types.incl.pl1. 1 12* This was done for support of the 3380, and 3390 devices for 512_WORD_IO. 1 13* 2) change(86-10-21,Fawcett), approve(86-10-21,MCR7533), 1 14* audit(86-10-21,Farley), install(86-10-22,MR12.0-1193): 1 15* Change PAGE_SIZE and VTOCE_SIZE from automatic to static constants. 1 16* END HISTORY COMMENTS */ 1 17 1 18 1 19 /* 1 20* All disk packs have the standard layout described below: 1 21* 1 22* Record 0 : contains the label, as declared in fs_vol_label.incl.pl1. 1 23* Record 1 to 3 : contains the volume map, as declared in vol_map.incl.pl1 1 24* Record 4 to 5 : contains the dumper bit map, as declared in dumper_bit_map.incl.pl1 1 25* Record 6 : contains the vtoc map, as declared in vtoc_map.incl.pl1 1 26* Record 7 : formerly contained bad track list; no longer used. 1 27* Records 8 to n-1 : contain the array of vtoc entries; ( n is specified in the label) 1 28* each record contains 5 192-word vtoc entries. The last 64 words are unused. 1 29* Records n to N-1 : contain the pages of the Multics segments. ( N is specified in the label) 1 30* 1 31* Sundry partitions may exist within the region n to N-1, withdrawn or not as befits the meaning 1 32* of the particular partition. 1 33* 1 34* 1 35* 1 36* A conceptual declaration for a disk pack could be: 1 37* 1 38* dcl 1 disk_pack, 1 39* 2 label_record (0 : 0) bit(36 * 1024), 1 40* 2 volume_map_record (1 : 3) bit(36 * 1024), 1 41* 2 dumper_bit_map_record (4 : 5) bit(36 * 1024), 1 42* 2 vtoc_map_record (6 : 6) bit(36 * 1024), 1 43* 2 spare_record (7 : 7) bit(36 * 1024), 1 44* 2 vtoc_array_records (8 : n-1), 1 45* 3 vtoc_entry ( 5 ) bit(36 * 192), 1 46* 3 unused bit(36 * 64), 1 47* 2 Multics_pages_records (n : N-1) bit(36 * 1024); 1 48* 1 49* 1 50* 1 51* 1 52**/ 1 53 1 54 dcl (LABEL_ADDR init (0), /* Address of Volume Label */ 1 55 VOLMAP_ADDR init (1), /* Address of first Volume Map record */ 1 56 DUMPER_BIT_MAP_ADDR init (4), /* For initial release compaitiblity */ 1 57 VTOC_MAP_ADDR init (6), /* Address of first VTOC Map Record */ 1 58 VTOC_ORIGIN init (8), /* Address of first record of VTOC */ 1 59 DEFAULT_HCPART_SIZE init (1000), /* Size of Hardcore Partition */ 1 60 MAX_VTOCE_PER_PACK init (31774)) /* Limited by size of VTOC Map */ 1 61 fixed bin (17) int static options (constant); 1 62 1 63 /* SECTORS_PER_VTOCE & VTOCES_PER_RECORD are indexed via device type as */ 1 64 /* defined by fs_dev_types and extracted form the disk_table entry (dte) */ 1 65 /* or the physical volume table entry (pvte) device type. */ 1 66 1 67 dcl PAGE_SIZE fixed bin (17) init (1024) static options (constant); 1 68 dcl VTOCE_SIZE fixed bin (17) init (192) static options (constant); 1 69 1 70 dcl SECTORS_PER_VTOCE (9) fixed bin static options (constant) init 1 71 (0, 3, 3, 3, 3, 3, 3, 1, 1); 1 72 dcl VTOCES_PER_RECORD (9) fixed bin static options (constant) init 1 73 (0, 5, 5, 5, 5, 5, 5, 2, 2); 1 74 dcl SECTORS_PER_RECORD (9) fixed bin static options (constant) init 1 75 (0, 16, 16, 16, 16, 16, 16, 2, 2); 1 76 1 77 /* END INCLUDE FILE...disk_pack.incl.pl1 */ 91 92 2 1 /* BEGIN INCLUDE FILE ... fs_vol_label.incl.pl1 .. last modified January 1982 for new volume map format */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-04-10,Fawcett), approve(86-04-10,MCR7383), 2 5* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 2 6* Add the subvolume info. 2 7* 2) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 2 8* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 2 9* Added inconsistent_dbm bit used to determine consistency of volume 2 10* dumper bit maps. 2 11* END HISTORY COMMENTS */ 2 12 2 13 /* This is the label at fixed location of each physical volume. Length 1 page */ 2 14 /* Note: fsout_vol clears pad fields before writing the label */ 2 15 2 16 dcl labelp ptr; 2 17 2 18 dcl 1 label based (labelp) aligned, 2 19 2 20 /* First comes data not used by Multics.. for compatibility with GCOS */ 2 21 2 22 2 gcos (5*64) fixed bin, 2 23 2 24 /* Now we have the Multics label */ 2 25 2 26 2 Multics char (32) init ("Multics Storage System Volume"), /* Identifier */ 2 27 2 version fixed bin, /* Version 1 */ 2 28 2 mfg_serial char (32), /* Manufacturer's serial number */ 2 29 2 pv_name char (32), /* Physical volume name. */ 2 30 2 lv_name char (32), /* Name of logical volume for pack */ 2 31 2 pvid bit (36), /* Unique ID of this pack */ 2 32 2 lvid bit (36), /* unique ID of its logical vol */ 2 33 2 root_pvid bit (36), /* unique ID of the pack containing the root. everybody must agree. */ 2 34 2 time_registered fixed bin (71), /* time imported to system */ 2 35 2 n_pv_in_lv fixed bin, /* # phys volumes in logical */ 2 36 2 vol_size fixed bin, /* total size of volume, in records */ 2 37 2 vtoc_size fixed bin, /* number of recs in fixed area + vtoc */ 2 38 2 not_used bit (1) unal, /* used to be multiple_class */ 2 39 2 private bit (1) unal, /* TRUE if was registered as private */ 2 40 2 inconsistent_dbm bit (1) unal, /* TRUE if ESD-less crash */ 2 41 2 flagpad bit (33) unal, 2 42 2 max_access_class bit (72), /* Maximum access class for stuff on volume */ 2 43 2 min_access_class bit (72), /* Minimum access class for stuff on volume */ 2 44 2 password bit (72), /* not yet used */ 2 45 2 number_of_sv fixed bin, /* if = 0 not a subvolume else the number of svs */ 2 46 2 this_sv fixed bin, /* what subvolume number it is */ 2 47 2 sub_vol_name char (1), /* what subvolume name (a b c d) it is */ 2 48 2 pad1 (13) fixed bin, 2 49 2 time_mounted fixed bin (71), /* time mounted */ 2 50 2 time_map_updated fixed bin (71), /* time vmap known good */ 2 51 2 52 /* The next two words overlay time_unmounted on pre-MR10 systems. This 2 53* forces a salvage if an MR10 pack is mounted on an earlier system. 2 54* */ 2 55 2 volmap_version fixed bin, /* version of volume map (currently 1) */ 2 56 2 pad6 fixed bin, 2 57 2 58 2 time_salvaged fixed bin (71), /* time salvaged */ 2 59 2 time_of_boot fixed bin (71), /* time of last bootload */ 2 60 2 time_unmounted fixed bin (71), /* time unmounted cleanly */ 2 61 2 last_pvtx fixed bin, /* pvtx in that PDMAP */ 2 62 2 pad1a (2) fixed bin, 2 63 2 err_hist_size fixed bin, /* size of pack error history */ 2 64 2 time_last_dmp (3) fixed bin (71), /* time last completed dump pass started */ 2 65 2 time_last_reloaded fixed bin (71), /* what it says */ 2 66 2 pad2 (40) fixed bin, 2 67 2 root, 2 68 3 here bit (1), /* TRUE if the root is on this pack */ 2 69 3 root_vtocx fixed bin (35), /* VTOC index of root, if it is here */ 2 70 3 shutdown_state fixed bin, /* Status of hierarchy */ 2 71 3 pad7 bit (1) aligned, 2 72 3 disk_table_vtocx fixed bin, /* VTOC index of disk table on RPV */ 2 73 3 disk_table_uid bit (36) aligned, /* UID of disk table */ 2 74 3 esd_state fixed bin, /* State of esd */ 2 75 2 volmap_record fixed bin, /* Begin record of volume map */ 2 76 2 size_of_volmap fixed bin, /* Number of records in volume map */ 2 77 2 vtoc_map_record fixed bin, /* Begin record of VTOC map */ 2 78 2 size_of_vtoc_map fixed bin, /* Number of records in VTOC map */ 2 79 2 volmap_unit_size fixed bin, /* Number of words per volume map section */ 2 80 2 vtoc_origin_record fixed bin, /* Begin record of VTOC */ 2 81 2 dumper_bit_map_record fixed bin, /* Begin record of dumper bit-map */ 2 82 2 vol_trouble_count fixed bin, /* Count of inconsistencies found since salvage */ 2 83 2 pad3 (52) fixed bin, 2 84 2 nparts fixed bin, /* Number of special partitions on pack */ 2 85 2 parts (47), 2 86 3 part char (4), /* Name of partition */ 2 87 3 frec fixed bin, /* First record */ 2 88 3 nrec fixed bin, /* Number of records */ 2 89 3 pad5 fixed bin, 2 90 2 pad4 (5*64) fixed bin; 2 91 2 92 dcl Multics_ID_String char (32) init ("Multics Storage System Volume") static; 2 93 2 94 /* END INCLUDE FILE fs_vol_label.incl.pl1 */ 93 94 3 1 /* BEGIN INCLUDE FILE null_addresses.incl.pl1 */ 3 2 /* Added segmove values, Benson Margulies, 84-01 */ 3 3 3 4 dcl (pc_move_page_table_1_null_addr init ("3770070"b3), 3 5 pc_move_page_table_2_null_addr init ("3770100"b3), 3 6 get_aste_null_addr init ("3770110"b3), 3 7 make_sdw_null_addr init ("3770120"b3), 3 8 put_aste_null_addr init ("3770130"b3), 3 9 page_bad_pd_null_addr init ("3770150"b3), 3 10 list_deposit_null_addr init ("3770160"b3), 3 11 get_file_map_null_addr init ("3770170"b3), 3 12 fill_page_table_null_addr init ("3770200"b3), 3 13 init_sst_null_addr init ("3770210"b3), 3 14 get_file_map_vt_null_addr init ("3770220"b3), 3 15 unprotected_null_addr init ("3770230"b3), 3 16 page_bad_null_addr init ("3770240"b3), 3 17 page_problem_null_addr init ("3770250"b3), 3 18 page_parity_null_addr init ("3770260"b3), 3 19 page_devparity_null_addr init ("3770270"b3), 3 20 segmove_old_addr_null_addr init ("3770300"b3), 3 21 segmove_new_addr_null_addr init ("3770310"b3), 3 22 get_file_map_dumper_non_null_addr init ("3777720"b3), 3 23 append_null_addr init ("3777770"b3)) bit (22) aligned static options (constant); 3 24 dcl create_vtoce_four_null_addrs fixed bin (71) int static init (-1);/* 777777 777777 777777 777777 */ 3 25 3 26 dcl (create_vtoce_null_addr init ("777777"b3), 3 27 update_vtoce_null_addr init ("777776"b3), 3 28 truncate_vtoce_fill_null_addr init ("777775"b3), 3 29 truncate_vtoce_null_addr init ("777002"b3), 3 30 pv_salv_null_addr init ("777004"b3), 3 31 pv_scav_null_addr init ("777006"b3), 3 32 volume_reloader_null_addr init ("777774"b3), 3 33 volume_retriever_null_addr init ("777773"b3), 3 34 salv_truncate_null_addr init ("777005"b3)) bit (18) aligned static options (constant); 3 35 3 36 /* END INCLUDE FILE null_addresses.incl.pl1 */ 95 96 4 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 4 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 4 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 4 4 4 5 /* This include file has an ALM version. Keep 'em in sync! */ 4 6 4 7 dcl ( 4 8 4 9 /* The following constants define the message action codes. This indicates 4 10*how a message is to be handled. */ 4 11 4 12 SYSERR_CRASH_SYSTEM init (1), 4 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 4 14 4 15 SYSERR_TERMINATE_PROCESS init (2), 4 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 4 17 4 18 SYSERR_PRINT_WITH_ALARM init (3), 4 19 BEEP init (3), /* Beep and print the message on the console. */ 4 20 4 21 SYSERR_PRINT_ON_CONSOLE init (0), 4 22 ANNOUNCE init (0), /* Just print the message on the console. */ 4 23 4 24 SYSERR_LOG_OR_PRINT init (4), 4 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 4 26 4 27 SYSERR_LOG_OR_DISCARD init (5), 4 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 4 29 4 30 4 31 /* The following constants are added to the normal severities to indicate 4 32*different sorting classes of messages. */ 4 33 4 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 4 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 4 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 4 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 4 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 4 39 ) fixed bin internal static options (constant); 4 40 4 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 97 98 5 1 /* BEGIN INCLUDE FILE ...vtoce.incl.pl1 ... last modified September 1982 */ 5 2 /* Template for a VTOC entry. Length = 192 words. (3 * 64). */ 5 3 /* NOTE: vtoc_man clears pad fields before writing a vtoce. */ 5 4 5 5 dcl vtocep ptr; 5 6 5 7 dcl 1 vtoce based (vtocep) aligned, 5 8 5 9 5 10 (2 pad_free_vtoce_chain bit (36), /* Used to be pointer to next free VTOCE */ 5 11 5 12 2 uid bit (36), /* segment's uid - zero if vtoce is free */ 5 13 5 14 2 msl bit (9), /* maximum segment length in 1024 word units */ 5 15 2 csl bit (9), /* current segment length - in 1024 word units */ 5 16 2 records bit (9), /* number of records used by the seg in second storage */ 5 17 2 pad2 bit (9), 5 18 5 19 2 dtu bit (36), /* date and time segment was last used */ 5 20 5 21 2 dtm bit (36), /* date and time segment was last modified */ 5 22 5 23 2 nqsw bit (1), /* no quota switch - no checking for pages of this seg */ 5 24 2 deciduous bit (1), /* true if hc_sdw */ 5 25 2 nid bit (1), /* no incremental dump switch */ 5 26 2 dnzp bit (1), /* Dont null zero pages */ 5 27 2 gtpd bit (1), /* Global transparent paging device */ 5 28 2 per_process bit (1), /* Per process segment (deleted every bootload) */ 5 29 2 damaged bit (1), /* TRUE if contents damaged */ 5 30 2 fm_damaged bit (1), /* TRUE if filemap checksum bad */ 5 31 2 fm_checksum_valid bit (1), /* TRUE if the checksum has been computed */ 5 32 2 synchronized bit (1), /* TRUE if this is a data management synchronized segment */ 5 33 2 pad3 bit (8), 5 34 2 dirsw bit (1), /* directory switch */ 5 35 2 master_dir bit (1), /* master directory - a root for the logical volume */ 5 36 2 pad4 bit (16)) unaligned, /* not used */ 5 37 5 38 2 fm_checksum bit (36) aligned, /* Checksum of used portion of file map */ 5 39 5 40 (2 quota (0:1) fixed bin (18) unsigned, /* sec storage quota - (0) for non dir pages */ 5 41 5 42 2 used (0:1) fixed bin (18) unsigned, /* sec storage used - (0) for non dir pages */ 5 43 5 44 2 received (0:1) fixed bin (18) unsigned, /* total amount of storage this dir has received */ 5 45 5 46 2 trp (0:1) fixed bin (71), /* time record product - (0) for non dir pages */ 5 47 5 48 2 trp_time (0:1) bit (36), /* time time_record_product was last calculated */ 5 49 5 50 5 51 5 52 5 53 5 54 2 fm (0:255) bit (18), /* file map - 256 entries - 18 bits per entry */ 5 55 5 56 2 pad6 (10) bit (36), /* not used */ 5 57 5 58 2 ncd bit (1), /* no complete dump switch */ 5 59 2 pad7 bit (17), 5 60 2 pad8 bit (18), 5 61 5 62 2 dtd bit (36), /* date-time-dumped */ 5 63 5 64 2 volid (3) bit (36), /* volume ids of last incremental, consolidated, and complete dumps */ 5 65 5 66 2 master_dir_uid bit (36), /* superior master directory uid */ 5 67 5 68 5 69 5 70 5 71 2 uid_path (0:15) bit (36), /* uid pathname of all parents starting after the root */ 5 72 5 73 2 primary_name char (32), /* primary name of the segment */ 5 74 5 75 2 time_created bit (36), /* time the segment was created */ 5 76 5 77 2 par_pvid bit (36), /* physical volume id of the parent */ 5 78 5 79 2 par_vtocx fixed bin (17), /* vtoc entry index of the parent */ 5 80 2 branch_rp bit (18)) unaligned, /* rel pointer of the branch of this segment */ 5 81 5 82 2 cn_salv_time bit (36), /* time branch - vtoce connection checked */ 5 83 5 84 2 access_class bit (72), /* access class in branch */ 5 85 2 perm_flags aligned, 5 86 3 per_bootload bit (1) unal, /* ON => deleted each bootload */ 5 87 3 pad9 bit (35) unal, 5 88 2 owner bit (36); /* pvid of this volume */ 5 89 5 90 dcl vtoce_parts (3) bit (36 * 64) aligned based (vtocep); 5 91 5 92 dcl 1 seg_vtoce based (vtocep) aligned, /* Overlay for vtoce of segments, which don't have quota */ 5 93 2 pad1 bit (7*36), 5 94 2 usage fixed bin (35), /* page fault count: overlays quota */ 5 95 2 pad2 bit (184*36); 5 96 5 97 /* END INCLUDE FILE vtoce.incl.pl1 */ 99 100 101 /* BEGIN MESSAGE DOCUMENTATION 102* 103* Message: 104* create_root_vtoce: Cannot alloc-write root vtoce ERROR_MESSAGE 105* 106* S: $crash 107* 108* T: Cold boot of Multics hierarchy. 109* 110* M: The system is unable to write out the VTOC entry for the root directory. 111* 112* A: Correct the disk problem if one exists and reboot. 113* Otherwise reboot with a different version of the system. 114* 115* 116* Message: 117* create_root_vtoce: Cannot set dmpr bit map for root ERROR_MESSAGE 118* 119* S: $info 120* 121* T: Cold boot of Multics hierarchy. 122* 123* M: $err 124* 125* A: $inform 126* 127* 128* Message: create_root_vtoce: Cannot set root_vtocx in RPV label. 129* 130* S: $crash 131* 132* T: Cold boot of Multics hierarchy. 133* 134* M: The system is unable to update the RPV label for the 135* root directory. 136* 137* A: Correct the disk problem if one exists and reboot. 138* Otherwise reboot with a different version of the system. 139* 140* Message: create_root_vtoce: Root vtoce not allocated at 0, RPV not initialized. 141* 142* S: $crash 143* 144* T: Cold boot of Multics hierarchy. 145* 146* M: A boot -cold was attempted without init_vol for RPV. 147* 148* A: Reboot system answering the find_rpv_subsystem with cold instead of rpv. 149* 150* END MESSAGE DOCUMENTATION */ 151 152 end create_root_vtoce; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0826.9 create_root_vtoce.pl1 >spec>install>1112>create_root_vtoce.pl1 91 1 10/22/86 1450.1 disk_pack.incl.pl1 >ldd>include>disk_pack.incl.pl1 93 2 07/21/88 2036.0 fs_vol_label.incl.pl1 >ldd>include>fs_vol_label.incl.pl1 95 3 07/11/84 0937.3 null_addresses.incl.pl1 >ldd>include>null_addresses.incl.pl1 97 4 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.incl.pl1 99 5 10/04/83 1105.1 vtoce.incl.pl1 >ldd>include>vtoce.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. LABEL_ADDR 000005 constant fixed bin(17,0) initial dcl 1-54 set ref 76* 82* Multics 500 000102 automatic char(32) initial level 2 dcl 39 set ref 39* SYSERR_CRASH_SYSTEM 000006 constant fixed bin(17,0) initial dcl 4-7 set ref 69* 73* 83* SYSERR_PRINT_ON_CONSOLE 000005 constant fixed bin(17,0) initial dcl 4-7 set ref 88* addr builtin function dcl 42 ref 68 68 76 76 82 82 binary builtin function dcl 42 ref 51 55 bit builtin function dcl 42 ref 48 51 branch_rp 272(18) 002102 automatic bit(18) level 2 packed packed unaligned dcl 40 set ref 61* clock builtin function dcl 42 ref 80 code 000100 automatic fixed bin(35,0) dcl 38 set ref 68* 69 69* 76* 77 82* 83 83* 87* 88 create_vtoce_null_addr constant bit(18) initial dcl 3-26 ref 66 csl 2(09) 002102 automatic bit(9) level 2 packed packed unaligned dcl 40 set ref 49* dbm_man$set_incr 000022 constant entry external dcl 31 ref 87 dirsw 5(18) 002102 automatic bit(1) level 2 packed packed unaligned dcl 40 set ref 53* divide builtin function dcl 42 ref 48 dtm 4 002102 automatic bit(36) level 2 packed packed unaligned dcl 40 set ref 51* 59 62 dtu 3 002102 automatic bit(36) level 2 packed packed unaligned dcl 40 set ref 51* fm 20 002102 automatic bit(18) array level 2 packed packed unaligned dcl 40 set ref 66* label based structure level 1 dcl 2-18 local_label 000102 automatic structure level 1 dcl 39 set ref 76 76 82 82 local_vtoce 002102 automatic structure level 1 dcl 40 set ref 46* 68 68 master_dir 5(19) 002102 automatic bit(1) level 2 packed packed unaligned dcl 40 set ref 54* msl 2 002102 automatic bit(9) level 2 packed packed unaligned dcl 40 set ref 48* nqsw 5 002102 automatic bit(1) level 2 packed packed unaligned dcl 40 set ref 52* par_pvid 271 002102 automatic bit(36) level 2 packed packed unaligned dcl 40 set ref 63* par_vtocx 272 002102 automatic fixed bin(17,0) level 2 packed packed unaligned dcl 40 set ref 64* primary_name 260 002102 automatic char(32) level 2 packed packed unaligned dcl 40 set ref 60* pvt$root_pvid 000010 external static bit(36) dcl 25 ref 63 pvt$root_pvtx 000012 external static fixed bin(17,0) dcl 26 set ref 68* 76* 82* 87* pvt$root_vtocx 000014 external static fixed bin(17,0) dcl 27 set ref 68* 73 79 87* quota 7 002102 automatic fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 40 set ref 55* read_disk 000024 constant entry external dcl 32 ref 76 received 11 002102 automatic fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 40 set ref 57* records 2(18) 002102 automatic bit(9) level 2 packed packed unaligned dcl 40 set ref 50* root 700 000102 automatic structure level 2 dcl 39 root_vtocx 701 000102 automatic fixed bin(35,0) level 3 dcl 39 set ref 79* sys_info$default_dir_max_length 000016 external static fixed bin(17,0) dcl 28 ref 48 sys_info$time_of_bootload 000020 external static fixed bin(71,0) dcl 29 ref 51 syserr 000026 constant entry external dcl 33 ref 73 88 syserr$error_code 000030 constant entry external dcl 34 ref 69 83 time_created 270 002102 automatic bit(36) level 2 packed packed unaligned dcl 40 set ref 62* time_registered 544 000102 automatic fixed bin(71,0) level 2 dcl 39 set ref 80* trp 12 002102 automatic fixed bin(71,0) array level 2 packed packed unaligned dcl 40 set ref 58* trp_time 16 002102 automatic bit(36) array level 2 packed packed unaligned dcl 40 set ref 59* uid 1 002102 automatic bit(36) level 2 packed packed unaligned dcl 40 set ref 47* uid_path 240 002102 automatic bit(36) array level 2 packed packed unaligned dcl 40 set ref 65* unspec builtin function dcl 42 set ref 46* used 10 002102 automatic fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 40 set ref 56* vtoc_man$alloc_and_put_vtoce 000032 constant entry external dcl 35 ref 68 vtoce based structure level 1 dcl 5-7 write_disk 000034 constant entry external dcl 36 ref 82 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANNOUNCE internal static fixed bin(17,0) initial dcl 4-7 BEEP internal static fixed bin(17,0) initial dcl 4-7 CRASH internal static fixed bin(17,0) initial dcl 4-7 DEFAULT_HCPART_SIZE internal static fixed bin(17,0) initial dcl 1-54 DUMPER_BIT_MAP_ADDR internal static fixed bin(17,0) initial dcl 1-54 JUST_LOG internal static fixed bin(17,0) initial dcl 4-7 LOG internal static fixed bin(17,0) initial dcl 4-7 MAX_VTOCE_PER_PACK internal static fixed bin(17,0) initial dcl 1-54 Multics_ID_String internal static char(32) initial packed unaligned dcl 2-92 PAGE_SIZE internal static fixed bin(17,0) initial dcl 1-67 SECTORS_PER_RECORD internal static fixed bin(17,0) initial array dcl 1-74 SECTORS_PER_VTOCE internal static fixed bin(17,0) initial array dcl 1-70 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 4-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 4-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 4-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 4-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 4-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 4-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 4-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 4-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 4-7 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 4-7 VOLMAP_ADDR internal static fixed bin(17,0) initial dcl 1-54 VTOCES_PER_RECORD internal static fixed bin(17,0) initial array dcl 1-72 VTOCE_SIZE internal static fixed bin(17,0) initial dcl 1-68 VTOC_MAP_ADDR internal static fixed bin(17,0) initial dcl 1-54 VTOC_ORIGIN internal static fixed bin(17,0) initial dcl 1-54 append_null_addr internal static bit(22) initial dcl 3-4 create_vtoce_four_null_addrs internal static fixed bin(71,0) initial dcl 3-24 fill_page_table_null_addr internal static bit(22) initial dcl 3-4 get_aste_null_addr internal static bit(22) initial dcl 3-4 get_file_map_dumper_non_null_addr internal static bit(22) initial dcl 3-4 get_file_map_null_addr internal static bit(22) initial dcl 3-4 get_file_map_vt_null_addr internal static bit(22) initial dcl 3-4 init_sst_null_addr internal static bit(22) initial dcl 3-4 labelp automatic pointer dcl 2-16 list_deposit_null_addr internal static bit(22) initial dcl 3-4 make_sdw_null_addr internal static bit(22) initial dcl 3-4 page_bad_null_addr internal static bit(22) initial dcl 3-4 page_bad_pd_null_addr internal static bit(22) initial dcl 3-4 page_devparity_null_addr internal static bit(22) initial dcl 3-4 page_parity_null_addr internal static bit(22) initial dcl 3-4 page_problem_null_addr internal static bit(22) initial dcl 3-4 pc_move_page_table_1_null_addr internal static bit(22) initial dcl 3-4 pc_move_page_table_2_null_addr internal static bit(22) initial dcl 3-4 put_aste_null_addr internal static bit(22) initial dcl 3-4 pv_salv_null_addr internal static bit(18) initial dcl 3-26 pv_scav_null_addr internal static bit(18) initial dcl 3-26 salv_truncate_null_addr internal static bit(18) initial dcl 3-26 seg_vtoce based structure level 1 dcl 5-92 segmove_new_addr_null_addr internal static bit(22) initial dcl 3-4 segmove_old_addr_null_addr internal static bit(22) initial dcl 3-4 truncate_vtoce_fill_null_addr internal static bit(18) initial dcl 3-26 truncate_vtoce_null_addr internal static bit(18) initial dcl 3-26 unprotected_null_addr internal static bit(22) initial dcl 3-4 update_vtoce_null_addr internal static bit(18) initial dcl 3-26 volume_reloader_null_addr internal static bit(18) initial dcl 3-26 volume_retriever_null_addr internal static bit(18) initial dcl 3-26 vtoce_parts based bit(2304) array dcl 5-90 vtocep automatic pointer dcl 5-5 NAMES DECLARED BY EXPLICIT CONTEXT. RPV_error 000457 constant label dcl 83 set ref 77 create_root_vtoce 000115 constant entry external dcl 8 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 714 752 545 724 Length 1240 545 36 251 147 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME create_root_vtoce 1344 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME create_root_vtoce 000100 code create_root_vtoce 000102 local_label create_root_vtoce 002102 local_vtoce create_root_vtoce THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dbm_man$set_incr read_disk syserr syserr$error_code vtoc_man$alloc_and_put_vtoce write_disk THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. pvt$root_pvid pvt$root_pvtx pvt$root_vtocx sys_info$default_dir_max_length sys_info$time_of_bootload LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 8 000114 39 000122 46 000125 47 000130 48 000132 49 000141 50 000143 51 000145 52 000153 53 000155 54 000157 55 000161 56 000177 57 000213 58 000227 59 000244 60 000255 61 000260 62 000262 63 000264 64 000267 65 000271 66 000302 68 000315 69 000340 73 000366 76 000410 77 000427 79 000431 80 000434 82 000436 83 000455 87 000503 88 000516 89 000540 ----------------------------------------------------------- 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