1 /****^ *********************************************************** 2 * * 3 * Copyright, (C) Honeywell Bull Inc., 1987 * 4 * * 5 * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6 * * 7 *********************************************************** */ 8 initializer: proc (); 9 10 /* * INITIALIZER 11 * 12 * This program is the driving procedure of Multics Initialization. 13 * It receives control from bootstrap2, and never returns. It must 14 * be separate from bootstrap2, and, in fact, be part of the permanent 15 * supervisor, because it makes the call to delete all the initialization 16 * segments. However, it does little else, and just calls real_initializer 17 * (which is an init-seg, and therefore gets deleted) to do the 18 * real work of initialization. 19 * 20 * Remodeled, 12/21/80 by W. Olin Sibert 21 * Changed 10/27/84 by Allen Ball to set slt.(first last)_init_seg = 32768 after deleting them. 22 */ 23 24 dcl addr builtin; 25 dcl delete_segs$delete_segs_init entry (); 26 dcl init_proc entry (); 27 dcl real_initializer entry (); 28 dcl slt$ external; 29 30 31 sltp = addr (slt$); 32 call real_initializer; /* Call the real thing */ 33 34 call delete_segs$delete_segs_init; /* Clean up after the previous call */ 35 36 slt.first_init_seg = 32768; /* These segs are no more. */ 37 slt.last_init_seg = 32768; /* 32768 is > possible valid segno */ 38 39 call init_proc; /* And call out to ring 1, never to return */ 40 41 %include slt; 42 end initializer;