/* BEGIN include file toehold_save_dcls_.incl.pl1 */ /****^ HISTORY COMMENTS: 1) change(83-08-01,Margulies), approve(), audit(), install(): Initial coding by Margulies and Loepere. 2) change(85-01-09,Fawcett), approve(85-09-09,MCR6979), audit(86-01-31,GDixon), install(86-03-21,MR12.0-1033): Support of FIPS 3380 cylinder size. END HISTORY COMMENTS */ /* structures that desribe data in the toehold and the save partition */ /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ /* WARNING - this include file has an alm counterpart maintained by convert_include_file, as well as a simplified version (toe_hold.incl.pl1) and its convert_include_file maintained alm counterpart. Exclude prn, prv and pad when converting to the alm version. */ dcl toehold_ptr ptr; dcl toehold$ (2048) bit (36) external; dcl 1 toehold aligned based (toehold_ptr), 2 entry_sequences (0:15) bit (72) aligned, 2 flagbox (64) bit (36) aligned, 2 handler_mc aligned like mc, 2 paths (4) like io_path, 2 n_paths_used fixed bin, 2 memory_state fixed bin, 2 bce_dbr bit (72) aligned, 2 bce_mode_reg bit (36) aligned, /* double word pair with bce_cache_mode_reg */ 2 bce_cache_mode_reg bit (36) aligned, 2 esd_segnum fixed bin (15), 2 dcw_list_size fixed bin (17) unaligned, /* the size of the dcw_list used by toehold.alm (upper half) */ 2 dcws_per_cyl fixed bin (17) unaligned, /* number of dcws needed to write 1 pages on 1 cyl*/ 2 seeks_used fixed bin, /* number of cyls needed to write 512 records */ /* plus 1 for seek at 256K boundary. */ 2 save_dcws (260) fixed bin (35), /* Region for dcw_list adjusted to RPV devtype. */ /* Writes Multics low memory (512K) into bce */ /* partition prior to invoking bce; or reads */ /* from partition back into memory prior to */ /* return to Multics. */ 2 handler_dcws (260) fixed bin (35), /* Region for dcw_list adjusted to RPV devtype. */ /* Reads/writes bce low memory from/to bce */ /* partition when invoking/returning from bce. */ 2 pad2 (255) bit (36) aligned, 2 handler_code (288) fixed bin (71), 2 multics_state like mc_state; /* * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* 512 records (pages) of low-order memory must be exchanged between memory */ /* and disk when Multics transfers to bce or vice versa. Device types hold */ /* different numbers of records per cylinder (see fs_dev_types.incl.pl1). */ /* Thus, a different number of cylinders is needed to hold 512 records for */ /* each type of device. Because there must be a dcw for every 4 records */ /* (pages) of data written to disk, the shape of the dcw_list varies */ /* depending upon the type of device used for the RPV. */ /* */ /* A second consideration is that there must be a separate seek operation */ /* after writing the 256th page of the low memory region in absolute mode. */ /* */ /* Also the iom_mailbox and toehold area is not saved nor is it restored. */ /* This skip of memory locations causes an additional seek. */ /* */ /* Thus, room for an extra two seeks must be added to the cylinder counts */ /* computed below. */ /* */ /* Note that a separate connect operation is done for each seek. */ /* */ /* The table below shows the shape for each supported device type. */ /* recs_per_cyl comes from fs_dev_types.incl.pl1. */ /* cyls_per_512k = ceil (512 / recs_per_cyl) */ /* seeks_per_512k = cyls_per_512k + 1 seek_at_256k_boundary */ /* + 1 seek_after_skip /* dcws_per_cyl = ceil (recs_per_cyl / 4 recs_per_dcw) */ /* currentsize(dcw_list) is the PL/I builtin function result. This */ /* size must fit within the 260 words allocated */ /* above for save_dcws and handler_dcws. */ /* */ /* DEVICE RECORDS CYL PER SEEKS DCWS PER currentsize */ /* TYPE PER CYL 512K PER 512K CYL (dcw_list) */ /* ------ ------- ------- -------- -------- ----------- */ /* 400,451, */ /* 500 47 11 13 12 208 =13*(12+4) */ /* */ /* 501 80 7 9 20 216 = 9*(20+4) */ /* */ /* 3380 127 5 7 32 252 = 7*(32+4) */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * */ dcl dcw_list_ptr ptr; dcl 1 dcw_list (toehold.seeks_used) aligned based (dcw_list_ptr), 2 seek_addresses fixed bin (35), /* This array overlays toehold.save_dcws and */ 2 seek_idcw bit (36) aligned, /* .handler_dcws */ 2 seek_dcw bit (36) aligned, 2 data_idcw bit (36) aligned, 2 data_dcws (toehold.dcws_per_cyl) bit (36) aligned; %page; %include bce_partition_layout; %page; %include toe_hold; /* END include file toehold_save_dcls_.incl.pl1 */ */ ----------------------------------------------------------- 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 */