1 " ***********************************************************
2 " * *
3 " * Copyright, C Honeywell Bull Inc., 1987 *
4 " * *
5 " * Copyright, C Honeywell Information Systems Inc., 1982 *
6 " * *
7 " ***********************************************************
8
9 " BOOTLOAD_FLAGBOX
10 "
11 " This program initializes the segment "flagbox", used for communication
12 " between bce/Multics.
13 "
14 " 11/04/80, W. Olin Sibert
15 " 83-84, Keith Loepere for the MR11 bce.
16
17 name bootload_flagbox
18 decor L68
19
20 include bootload_equs
21 include flagbox
22 include toe_hold
23 " ^L
24 "
25 " This code is executed just after we have created the bootload DSEG,
26 " before anything else is done.
27
28 segdef preinit
29
30 preinit: Bpush
31 epp seg,template_slt_$toehold_ptr,*
32 epp seg2,template_slt_$bos_toehold_ptr,*
33
34 mlr ,pr,fill000 " Clear out the flagbox
35 desc9a 0,0
36 desc9a seg|fgbx.flags_word,fgbx_size*4
37
38 sdbr seg|fgbx.hc_dbr
39
40 ldx7 template_slt_$slt_ptr
41 stx7 seg|fgbx.slt_segno
42
43 szn bootload_info$assume_config_deck " see if info from
44 tze bos_absent " IOM suggests BOS
45
46 " We were booted either from BOS or an IIOC. Check for BOS sentinel.
47
48 cmpc pr,
49 desc9a seg2|20,32 " BOS sentinel in flagbox
50 desc9a test_sentinel,32
51 tnz bos_absent
52
53 stz bootload_info$cold_disk_mpc " BOS loaded this
54
55 mlr ,pr " save BOS entries
56 desc9a BOS_entries,3*2*4
57 desc9a seg|TOE_HOLD_BOS_ENTRY*2,3*2*4
58 tra return
59
60 bos_absent:
61 stz bootload_info$assume_config_deck
62
63 lda =o400000,du
64 sta bootload_info$cold_disk_mpc " we must load
65
66 ldaq seg|TOE_HOLD_CRASH_ENTRY*2 " make goto BOS -> goto bce
67 staq seg|TOE_HOLD_BOS_ENTRY*2
68 staq seg|TOE_HOLD_BOS_NO_SAVE_ENTRY*2
69 staq seg|TOE_HOLD_BOS_MULTICS_ENTRY*2
70
71 return: ldaq seg|TOE_HOLD_CRASH_ENTRY " make 10000 -> goto bce
72 staq seg2|0
73 staq seg2|2
74 staq seg2|4
75 Breturn
76
77 bool bos_origsetup,10000
78 bool bos_switchentry,7
79 bool bos_bos_entry,10
80 bool bos_mulentry,11
81 bool bos_tscu,370
82
83 inhibit on <><><>ON<><><>
84 BOS_entries:
85 scu bos_origsetup+bos_tscu
86 ret bos_origsetup+bos_switchentry
87
88 scu bos_origsetup+bos_tscu
89 ret bos_origsetup+bos_bos_entry
90
91 scu bos_origsetup+bos_tscu
92 ret bos_origsetup+bos_mulentry
93
94 inhibit off <><><>OFF<><><>
95
96 test_sentinel:
97 aci "Flagbox & Toehold Valid",32
98 end