1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 bce_continue: proc;
19
20
21
22
23
24
25 dcl addr builtin;
26 dcl com_err_ entry () options (variable);
27 dcl pmut$special_bce_return entry (bit (72) aligned);
28 dcl ssenb bit (1) aligned;
29 dcl sys_boot_info$assume_config_deck bit (1) aligned external;
30 dcl 1 toehold$ aligned like toe_hold external;
31 dcl unspec builtin;
32
33 if ^ (sys_info$collection_1_phase = CRASH_INITIALIZATION | sys_info$collection_1_phase = BCE_CRASH_INITIALIZATION) then do;
34 call com_err_ (0, "continue", "No image to restart.");
35 return;
36 end;
37 fgbxp = addr (flagbox$);
38 if fgbx.io_reconfig then do;
39 call com_err_ (0, "continue", "Not allowed to restart. Memory may have been corrupted.");
40 return;
41 end;
42
43 ssenb = fgbx.rtb.ssenb;
44 unspec (fgbx.rtb) = "0"b;
45 fgbx.rtb.ssenb = ssenb;
46 call pmut$special_bce_return (toehold$.entry_sequences (TOE_HOLD_RESTART_ENTRY));
47 return;
48
49 bce_bos: entry;
50
51 if ^sys_boot_info$assume_config_deck then do;
52 call com_err_ (0, "bos", "BOS is not present.");
53 return;
54 end;
55 call pmut$special_bce_return (toehold$.entry_sequences (TOE_HOLD_BOS_MULTICS_ENTRY));
56 return;
57
58 %page; %include collection_1_phases;
59 %page; %include flagbox;
60 %page; %include toe_hold;
61 end;