COMPILATION LISTING OF SEGMENT call_bce 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 1028.8 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 /* CALL_BCE - Program to call the bootload command environment (bce). 9* recoded 9/30/76 by Noel I. Morris 10* converted from call_bos 8/83 by Keith Loepere */ 11 12 13 call_bce: proc; 14 15 dcl privileged_mode_ut$bce_and_return entry, 16 syserr entry options (variable); 17 18 dcl addr builtin; 19 1 1 /* BEGIN INCLUDE FILE ... flagbox.incl.pl1 */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(87-02-26,Farley), approve(87-04-15,MCR7661), 1 6* audit(87-04-21,Fawcett), install(87-04-28,MR12.1-1028): 1 7* Added io_reconfig flag to inhibit BCE from attempting an emergency 1 8* shutdown when the data in memory could be corrupted. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 /* last modified 5/3/77 by Noel I. Morris */ 1 13 /* Modified 8/79 by R.J.C. Kissel to add FNP blast message. */ 1 14 /* Modified 7/82 BIM for recognizable sentinel field */ 1 15 /* Modified for bootload Multics flagbox starting in 8/83 by Keith Loepere. */ 1 16 1 17 /* The contents of this segment are data shared by Multics and bce. 1 18* This entity occupies the locations within the toehold starting at 40o 1 19* (not counting the toehold_used spacer at the beginning). */ 1 20 1 21 dcl flagbox$ ext; 1 22 dcl fgbxp ptr; 1 23 1 24 dcl 1 fgbx based (fgbxp) aligned, 1 25 2 toehold_used (32) bit (36) aligned, /* flagbox seg now mapped onto all of first page of toehold - 1 26* This is what was unused before. */ 1 27 2 flags (36) bit (1) unal, /* communications switches */ 1 28 2 slt_segno bit (18), /* segment # of the SLT */ 1 29 2 pad1 fixed bin, 1 30 2 rtb, /* return to bce info */ 1 31 (3 ssenb bit (1), /* "1"b if storage system enabled */ 1 32 3 call_bce bit (1), /* "1"b if bce called by operator */ 1 33 3 shut bit (1), /* "1"b if bce called after shutdown */ 1 34 3 mess bit (1), /* "1"b if message has been provided */ 1 35 3 alert bit (1), /* "1"b if audible alarm to be sounded */ 1 36 3 breakpoint bit (1), /* "1"b is breakpoint caused call to bce */ 1 37 3 manual_crash bit (1), /* either manual entry or execute fault */ 1 38 3 io_reconfig bit (1), /* "1"b if I/O reconfiguration */ 1 39 /* could cause memory corruption */ 1 40 3 pad bit (21), 1 41 3 bce_entry fixed bin (6) uns) unal, /* type of entry into bce 1 42* 00o => Multics entry 1 43* 20o => manual entry 1 44* 40o => esd entry */ 1 45 2 sentinel char (32) aligned, /* set by bce (for now) */ 1 46 2 sst_sdw bit (72), /* set by init_sst */ 1 47 2 hc_dbr bit (72), /* set by start_cpu, idle DBR */ 1 48 2 message char (64), /* message for return to bce */ 1 49 2 return_to_bce_command char (128) unal; /* command to run upon crash/shutdown */ 1 50 1 51 declare FLAGBOX_SENTINEL char (32) init ("Flagbox & Toehold Valid") int static options (constant); 1 52 1 53 /* END INCLUDE FILE ... flagbox.incl.pl1 */ 20 21 22 23 24 fgbxp = addr (flagbox$); /* Get pointer to flagbox segment. */ 25 fgbx.call_bce = "1"b; /* Turn on the bce call flag. */ 26 27 call syserr (0, "call_bce: bce called from Multics."); 28 29 call privileged_mode_ut$bce_and_return; /* Transfer control to bce. It will return after 30* continue is typed at the operator's console. */ 31 32 fgbx.call_bce = "0"b; /* Turn off flag now. */ 33 34 return; /* Return to caller */ 35 36 37 /* BEGIN MESSAGE DOCUMENTATION 38* 39* Message: 40* call_bce: bce called from Multics. 41* 42* S: $info 43* 44* T: $run 45* 46* M: An outer ring program has called hphcs_$call_bce. 47* This is usually done after printing an explanatory message. 48* The system will resume operation if continue is typed. 49* 50* A: $recover 51* 52* 53* END MESSAGE DOCUMENTATION */ 54 55 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0825.5 call_bce.pl1 >special_ldd>install>MR12.3-1114>call_bce.pl1 20 1 04/30/87 1513.7 flagbox.incl.pl1 >ldd>include>flagbox.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. addr builtin function dcl 18 ref 24 call_bce 43(01) based bit(1) level 3 packed packed unaligned dcl 1-24 set ref 25* 32* fgbx based structure level 1 dcl 1-24 fgbxp 000100 automatic pointer dcl 1-22 set ref 24* 25 32 flagbox$ 000014 external static fixed bin(17,0) dcl 1-21 set ref 24 privileged_mode_ut$bce_and_return 000010 constant entry external dcl 15 ref 29 rtb 43 based structure level 2 dcl 1-24 syserr 000012 constant entry external dcl 15 ref 27 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FLAGBOX_SENTINEL internal static char(32) initial packed unaligned dcl 1-51 NAME DECLARED BY EXPLICIT CONTEXT. call_bce 000014 constant entry external dcl 13 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 132 150 57 142 Length 332 57 16 145 52 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME call_bce 88 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME call_bce 000100 fgbxp call_bce THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. privileged_mode_ut$bce_and_return syserr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. flagbox$ LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000013 24 000021 25 000023 27 000025 29 000045 32 000052 34 000055 ----------------------------------------------------------- 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