1 " ***********************************************************
 2 " *                                                         *
 3 " * Copyright, (C) Honeywell Bull Inc., 1987                *
 4 " *                                                         *
 5 " * Copyright, (C) Honeywell Information Systems Inc., 1984 *
 6 " *                                                         *
 7 " ***********************************************************
 8 
 9 " HISTORY COMMENTS:
10 "  1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396),
11 "     audit(86-11-18,Schroth), install(86-11-20,MR12.0-1222):
12 "     intialized the stack ring 0 heap_header_ptr to null
13 "                                                      END HISTORY COMMENTS
14 
15 
16 name      bootload_1
17 
18 " Initialize PL/1 environment for collection 1.
19 " Written by C. Hornig, November 1982.
20 
21 " This program is transfered to at location zero by bootload_1.
22 " As a special favor, PR5 -> the LOT.
23 " Fixed June 1983 by KPL to set isot_ptr
24 " Renamed from bootload_2, '83 by KPL
25 " Modifed April 15/86 by Doug Howe to initialize heap header ptr
26 "                        in the stack header.
27 
28 begin:
29           epaq      *                             " get our segment number
30           lprplp    lb|0,au                       " get linkage ptr
31           eppsb     inzr_stk0$                    " find the stack segment
32           eppbb     prds$
33 
34           eppbp     prds$processor_stack          " initialize the prds
35           spribp    bb|stack_header.stack_begin_ptr
36           spribp    bb|stack_header.stack_end_ptr
37 
38           eppbp     sb|stack_header.stack_begin_ptr+1,*
39                                                   " get beginning offset
40           spribp    sb|stack_header.stack_begin_ptr " save it
41           spribp    sb|stack_header.stack_end_ptr
42 
43           eppbp     lot$                          " set the lot ptrs
44           spribp    bb|stack_header.lot_ptr
45           spribp    sb|stack_header.lot_ptr
46           spribp    bb|stack_header.isot_ptr      " and isot as a favor
47           spribp    sb|stack_header.isot_ptr
48 
49           eppbp     =its(-2,2),*                  " signal ptr terminates process
50           spribp    bb|stack_header.signal_ptr
51           spribp    sb|stack_header.signal_ptr
52 
53           eppbp     pl1_operators_$operator_table  Get a ptr to  PL/I operators table.
54           spribp    sb|stack_header.pl1_operators_ptr Store in  inzr_stk0
55           spribp    bb|stack_header.pl1_operators_ptr Store in  prds.
56 
57           eppbp     pl1_operators_$operator_table+call_offset,*
58           spribp    sb|stack_header.call_op_ptr
59           spribp    bb|stack_header.call_op_ptr
60 
61           eppbp     pl1_operators_$operator_table+push_offset,*
62           spribp    sb|stack_header.push_op_ptr
63           spribp    bb|stack_header.push_op_ptr
64 
65           eppbp     pl1_operators_$operator_table+return_offset,*
66           spribp    sb|stack_header.return_op_ptr
67           spribp    bb|stack_header.return_op_ptr
68 
69           eppbp     pl1_operators_$operator_table+return_no_pop_offset,*
70           spribp    sb|stack_header.ret_no_pop_op_ptr
71           spribp    bb|stack_header.ret_no_pop_op_ptr
72 
73           eppbp     pl1_operators_$operator_table+entry_offset,*
74           spribp    sb|stack_header.entry_op_ptr
75           spribp    bb|stack_header.entry_op_ptr
76 
77 " initialize the heap header in the stack header to null
78 
79           eppbp     =its(-1,1),*
80           spribp    sb|stack_header.heap_header_ptr
81           spribp    bb|stack_header.heap_header_ptr
82 
83           eppap     no_args                       " no arguments
84           eppsp     =its(-1,1),*                  " null stack pointer
85           tra       initializer$initializer       " call PL/1
86 
87           even
88 no_args:  zero      0,4
89           zero      0,0
90 " ^L
91           include   stack_header
92 
93           end       bootload_1
94 ^@