1 /* BEGIN include file toehold.incl.pl1 */
 2 
 3 /* Various reserved entrypoints into the bce toehold.
 4 Also, only those things one really needs to know about the toehold.
 5 Keith Loepere, October 1983. */
 6 
 7 /* Exclude prn, prv and pad when converting to alm version. */
 8 
 9 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */
10 
11 dcl  1 toe_hold                       aligned based,        /* name so alm likes */
12        2 entry_sequences              (0:15) bit (72) aligned, /* described below */
13        2 flagbox                      (64) bit (36) aligned,
14        2 pad1                         (48) bit (36) aligned,
15        2 paths                        (4) like io_path,
16        2 n_paths_used                 fixed bin,
17        2 memory_state                 fixed bin,            /* of memory/disk swapping, etc. */
18        2 bce_dbr                      bit (72) aligned,     /* of bce */
19        2 pad2                         (1355) bit (36) aligned,
20        2 multics_state                aligned like mc_state;
21 
22 dcl  1 io_path                        aligned based,
23        2 pcw                          fixed bin (71) aligned,
24 
25        2 port_number                  fixed bin (3) uns unal, /* these fields form the word that */
26        2 iom_number                   fixed bin (15) uns unal, /* must be changed upon */
27        2 channel_number               fixed bin unal,       /* reconfiguration of channels */
28 
29        2 pad                          bit (36) aligned;
30 
31 dcl  TOE_HOLD_CRASH_ENTRY             fixed bin init (0) static options (constant); /* operator causes crash by xed'ind here */
32 dcl  TOE_HOLD_ESD_ENTRY               fixed bin init (1) static options (constant);
33 dcl  TOE_HOLD_DUMP_ENTRY              fixed bin init (2) static options (constant); /* place that causes an early dump */
34 dcl  TOE_HOLD_MULTICS_ENTRY           fixed bin init (3) static options (constant); /* Multics crashes by drl'ing here */
35 dcl  TOE_HOLD_RESTART_ENTRY           fixed bin init (4) static options (constant); /* bce restarts Multics by drl'ing here */
36 dcl  TOE_HOLD_BOOT_ENTRY              fixed bin init (5) static options (constant); /* bootload_tape_label starts init by tra'ing here */
37 dcl  TOE_HOLD_BOS_ENTRY               fixed bin init (12) static options (constant);
38 dcl  TOE_HOLD_BOS_NO_SAVE_ENTRY       fixed bin init (13) static options (constant);
39 dcl  TOE_HOLD_BOS_MULTICS_ENTRY       fixed bin init (14) static options (constant);
40 
41 declare  mc_state_ptr                 ptr;        /* to toehold$.multics_state */
42 declare 1 mc_state                    aligned based (mc_state_ptr),
43        2 mc_                          aligned like mc,
44        2 masks                        (16) bit (36) aligned,
45        2 interrupt                    bit (72) aligned,
46        2 mode_reg                     bit (36) aligned,     /* mode_reg and cache_mode_reg form a double word pair */
47        2 cache_mode_reg               bit (36) aligned,
48        2 dbr                          bit (72) aligned,
49        2 cfg                          bit (72) aligned,
50        2 bar                          bit (36) aligned,
51        2 old_memory_state             fixed bin,
52        2 pad16                        (6) bit (36) aligned,
53        2 ou_history_registers         (0: 15) bit (72) aligned,
54        2 cu_history_registers         (0: 15) bit (72) aligned,
55        2 du_history_registers         (0: 15) bit (72) aligned,
56        2 apu_history_registers        (0: 15) bit (72) aligned,
57        2 ptwam_ptrs                   (0: 63) bit (36) aligned,       /* word alignment (mod 16, 32) of these am's matters */
58        2 ptwam_regs                   (0: 63) bit (36) aligned,
59        2 sdwam_ptrs                   (0: 63) bit (36) aligned,
60        2 sdwam_regs                   (0: 63) bit (72) aligned;
61 
62 /* values for memory_state */
63 
64 dcl  Initial_undefined                fixed bin init (0) static options (constant);  /* initial coming to bce */
65 dcl  At_bce__early                    fixed bin init (1) static options (constant);
66 dcl  At_bce__boot                     fixed bin init (2) static options (constant);  /* at bce during cool boot phase */
67 dcl  Multics                          fixed bin init (3) static options (constant);  /* Multics coming up */
68 dcl  Undefined_saving_state           fixed bin init (4) static options (constant);  /* saving state during coming down */
69 dcl  Undefined_reading_bce            fixed bin init (5) static options (constant);  /* reading in bce */
70 dcl  At_bce__crash                    fixed bin init (6) static options (constant);  /* disk holds Multics, at bce */
71 dcl  At_bce__shutdown                 fixed bin init (7) static options (constant);  /* disk holds (nothing), coming to bce */
72 dcl  Undefined_continue               fixed bin init (8) static options (constant);  /* swapping memory back */
73 dcl  Undefined_saving_mem             fixed bin init (9) static options (constant);
74 
75 %page; %include mc;
76 
77 /* END include file toehold.incl.pl1 */