GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
Transcript of GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
1/87
File No 5360-36
GY28-6661-5
Program
Logic
OS Release 2
IBM
System 3S0
Operating System
Initial Program Loader and
Nucleus Initialization Program
Program Number 360S CI 535
This publication presents the
interna l
logic
of the
IBM
System/360
Operating
System
In i t ia l
Program
Loader
and Nucleus In i t ia l iza t ion
Program.
The operation of
the
Nucleus In i t ia l iza t ion Program in
each of the
con
t ro l program environments MFT,
MVT)
i s
described in
the
sect ion
dealing with the Nucleus In i t ia l iza t ion
Program. Special in i t ia l iza t ion procedures
for VT
with
Model 65
multiprocessing
systems are
included in
Appendix A.
The
~ a b l e s work
areas
and
control
blocks
are i l lus t ra ted in
the publicat ion
as well as flowcharts
i l lus t ra t ing the logic flow of
the
In i t ia l Program Loader
and the Nucleus In i t ia l iza t ion
Program.
This program logic manual
i s directed to
personnel
responsible for program maintenance. I t can be used to
locate
specif ic areas of the program and
t enables
the reader to
r e la te
these areas to the corresponding
program
l i s t ings
Program
logic
information
i s
not
necessary for program operation and
use.
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
2/87
Sixth
Edi t ion
March, 1972)
This i s
a major revis ion
of,
and makes
obsolete,
GY28
6661-q and i t s
associated
TNL
GN27-1353. This
edit ion
applies to
Release
21 of
the System/360 Operating
Sys
tem and to a l l
subsequent
re leases unt i l
otherwise
indicated n new edi t ions or Technical
Newslet ters .
A
change
i s
indicated by a ver t ica l l ine to the
l e f t
of
the
change. Changes are cont inual ly being
made
to the
specif ications herein; before using
th is
publ icat ion in
connection with the operat ion of
I M
systems,
consul t
the l a t es t
System/360 SRL
Newsletter, GN20-0360,
for
the edit ions
tha t
are
appl icable and
current .
This
publicat ion was
prepared
for
production using an
I M
update the t ext
and
to control the
page
and l i ne
format.
s ions for photo-offset print ing were
obtained
from
an
I M
using
a special print t ra in .
computer
to
Page
impres-
1Q03
Pr in ter
Copies of th is and other
I M
publ icat ions can be
obtained through
I M
branch off ices .
A
form
for
reader s comments appears
a t the
back
of th is
publ icat ion.
Address any
addit ional
comments concerning the
contents of th is publ ica
t ion to
I M
Corporation,
programming Publicat ions,
Department
636
Neighborhood
Road, Kingston,
New York 12401
Copyright
International
Business
Machines Corporation 1970,1971,1972
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
3/87
This
publ ica t ion descr ibes
t he
in te rna l
l og ic
and theory of opera t ion
of
the In i -
ti l Program Loader, which br ings in the
programs which become the cont rol
program
nucleus,
and
the Nucleus I n i t i a l i z a t i o n
Program, which prepares those
programs
and
the balance
o f main
s to rage
for
operat ion
of the
con t ro l
program.
The publ ica t ion
cons i s t s
of
e igh t major
sec t ions .
The In t roduct ion p resen t s an
overview of the purpose and
funct ions of
the programs
and in t roduces
t he
major
topics presen ted in the manual. The sec-
t ion ,
I n i t i a l
Program
Loader presen t s a
de ta i l ed discuss ion of t h a t
program s
opera t ion ,
inc lud ing the use of t ab les ,
work areas ,
and
cont rol blocks .
The
address resolut ion procedure
i s
descr ibed
in
d e t a i l as
an adjunct to the l i s t i n g s
o f
the
program.
The
Nucleus I n i t i a l i z a t i o n
Program
sec t ion d i scusses
the operat ion
o f
t ha t
program
and emphasizes the d i f fe rences
t ha t ex i s t for
the d i f f e r e n t
conf igura t ions
o f
t he
con t ro l program. The Routine
L is t s
sec t ion
presen t s a
summary o f each of t he
major IPL and NIP rout ines . The sec t ion
Tables and Work Areas conta ins
i l l u s t r a -
t ions of the t ab les ,
work
areas ,
and
con
t r o l blocks used
by
the
programs o r
i n i -
t i a l i z e d
by the programs. The Flowcharts
sec t ion conta ins cha r t s t h a t diagram the
l og ic f low
o f
the
I n i t i a l Program Loader
and
t he
Nucleus I n i t i a l i z a t i o n
Program.
Appendix
A:
I n i t i a l i z a t i o n
for MVT with
Model
65
Mult iprocess ing
descr ibes
the
spe-
c i a l i n i t i a l i z a t i o n procedures for the
Model 65
Mult iprocess ing System. Appendix
B:
NIP Inte r face Routine
describes
the
spec ia l
processing necessary to maintain
cor r ec t base addresses
when
NIP uses
subrout ines .
Throughout t h i s publ ica t ion,
re ferences
to con t ro l
program
conf igura t ions a re s imp
l i f i e d by
the use
o f
abbrev ia t ions . When
PREFACE
used in the publ ica t ion, MFT
r e f e r s
to sys -
tems
capable
of multiprogramming with a
f ixed number
o f
t asks ,
and MVT
r e f e r s to
systems capable o f multiprogramming
with a
var iable number of
t a sks .
MVT with Model
65 mult iprocess ing i s not abbrev ia ted in
t h i s publ ica t ion . An appendix
i s
devoted
to a
de ta i l ed
discuss ion
o f
MVT
with Model
65 mult ip rocess ing .
The
r eader o f
t h i s
publ ica t ion should
have a
knowledge of the assembler language
fo r
System/360
and should be
f ami l i a r
with
the
fol lowing
publ ica t ions :
I M
System/360:
pr inc ip l e s
of
Opera
t i on ,
GA22-6821
I M System/360
Operat ing
System:
Int roduct ion,
GC28-6534
Assembler
Language, GC28-6524
MFT Guide, GC27-6939
MVT Guide,
GC28-6720
In
add i t ion , in format ion con ta ined
in
other pub l ica t ions may prove helpful to
understanding
these
programs. These
publ i -
ca t ions
are :
I M
System/360 operat ing
System:
Data
Management
Macro Ins t ruc t ions ,
GC26-3794
Data Management Serv ices Guide,
GC26-3746
Messages and
Codes,
GC28-6631
Opera to r s Reference,
GC28-6691
Programmer s
Guide
to Debugging,
GC28-6670
Serv ice Aids, GC28-6719
Storage
Est imates , GC28-6551
System Control Blocks, GC28-6628
system
Generat ion,
GC28-6554
MFT
superv i sor PLM
GY27-7236
MVT superv i sor PLM GY28-6659
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
4/87
SUMMARY
OF
AMENDMENTS
Release 2
•
Status Display support
• In i t ia l iza t ion for
the
Generalized Trace aci l i ty
• Relocation of the IPL
program
• Channel
Check
and
Machine Check
Handler
support for
the
System/370
Model 135
•
Operator
Procedures
for loading an
al ternat ive
nucleus
or l imit ing
apparent storage s ize for System/370
machines
Release 20.1
• Time Sharing
Option
• Channel
Check and Machine Check Handler
support for the
System/370
Model
145
Release 20
•
Extended
Precision
Floating Point
Divide
• In i t ia l iza t ion procedures for
the
Block
Multiplexor
channel
•
Locat ing
formatting and i n i t i a l i z ing
the SYS1 DUMP
data se t
v
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
5/87
INTRODUCTION • • • • • • •
The
I n i t i a l
Program Loader • • • • •
The Nucleus
I n i t i a l i z a t i o n
program
L is t s o f
Rout ines
• •
Tables and Work Areas
• • • • • • •
Flowcharts • • • • • • • • • • • •
CONTENTS
Appendix A: I n i t i a l i z a t i o n fo r
MVT wi th
Appendix B: NIP I n t e r f ace Routine
•
Model 65
Multiprocessing
1
1
1
1
1
2
2
2
THE INITIAL PROGRAM
LOADER
• • • • • • • • • •
3
3
4
4
5
5
5
6
6
6
8
8
8
Loading t h e IPL Program • • • • • • • • • • • • •
Determining t h e
Nucleus • • • • • • •
Clear ing Storage
and
Determining ts Size
• •
Ind ica t ing Size
of Main
Storage • • • •
Finding
t he
Selec ted Nucleus • • • •
Assigning Nucleus
Control
Sect ion
Addresses
Calcu la t ing t he Addresses
• • •
Calcu l a t i n g t h e Relocat ion Factor s
IPL Program Relocat ion • • • • • • •
Loading
t h e
Nucleus
Cont ro l
Sect ions
Replacing
Nucleus Address
Constants
•
Giving Control to t h e
Nucleus I n i t i a l i z a t i o n
Program
THE NUCLEUS
INITIALIZATION
PROGRAM • • • • • • • • •
Nucleus
Table I n i t i a l i z a t i o n
• • • • • • • • •
I n i t i a l i z i n g t he
Communications
Vector Table
Poin ter
Establ ishing
t he Trace
Table Address Optional : MVT)
Building
t he Dummy
TCB
Table
MFT With Subtasking)
Test ing fo r Extended Prec i s ion
Float ing Po in t Simula t ion
Determining
Size
o f
IBM 2361
Core Storage
Optional :
MFT,
Determining
Console
Readiness
MFT,
MVT
without
MCS)
• • • • • 11
· • 11
. . . • 11
• • 12
•
12
• •
12
MVT) •• 12
• •
12
•
13
Determining the Master Console in a
System
with M ul t ip le
Console
Suppor t Optional :
MFT, MVT)
I n i t i a l i z i n g
Trans ien t Display
Control
Modules
Mul t ip le Console
Support
with
Display Consoles only)
• •
•
13
13
14
• • 14
14
I n i t i a l i z i n g Ready
Direc t
Access UCBS
• • • • • • • • •
I n i t i a l i z i n g t h e System
Residence
UCB • • • •
Crea t ing
and I n i t i a l i z i n g Data Extent Blocks
General System I n i t i a l i z a t i o n
• •
Checking
The Timer
OPTIONAL) • • • • • • • •
Defining
Control Program Areas • . . • • • • • •
I n i t i a l i z i n g t h e
SVC
Table MVT;
Optional : MFT)
Creat ing and
I n i t i a l i z i n g t h e
Linkage
Library
DEB.
• • • • • •
16
16
17
•
17
Locat ing, Format t ing,
and
I n i t i a l i z i n g t h e
SYS1.DUMP Data
Se t
•
20
Determining User
Options Optional)
• • • • • • • • • •
• • 21
I n i t i a l i z i n g Optional
Control
Program Funct ions
•
22
• 22
• • • • 22
Emulator Warning Message • • • • • • . • • • • • • • • • •
I n i t i a l i z i n g
t h e
Parameter Library •• • • • • • • • •
Bui ld ing
the LINKLIB
Lis t PCP,
MFT,
MVT)
•
• • • • • •
23
I n i t i a l i z i n g fo r Genera l ized Trace
F a c i l i t y
•
Estab l i sh ing Block Multiplexer Channel Capabi l i ty •
Building
t he
TCB
Address
Table
MFT) • • • •
Recovery
Management I n i t i a l i z a t i o n
• • • • •
Rebui lding t he System
Queue
Area • • • • • • • • •
I n i t i a l i z a t i o n
fo r Time-Sl ic ing Opt ional )
Allocat ing , Opening,
and Format t ing the Rollout Data
Se t
Optional : MVT
• •
23
• • 23
• •
23
• • 24
• • •
24
• • 24
• 25
I n i t i a l i z a t i o n fo r Machine-Check Handler , Model 65
I n i t i a l i z a t i o n fo r Machine-Check Handler , System/360
Model 85
and
•
27
System/370
I n i t i a l i z a t i o n fo r the
Channel-Check
Handler
Loading Optional Error Recovery
Procedure
Modules • • • • • •
•
27
• •
28
•
30
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
6/87
I n i t i a l i z a t i o n fo r Dynamic
Device
Reconf igura t ion
SYSRES Support • 30
Rese t t ing Main
Storage D iv is ions
• • • • • • •
32
Expanding t he System Queue Area
Optional)
• • • • •
32
Reloca t ing NIP MVT) •••• • • • • • • • 32
cons t ruc t ing the
Link Pack Area MVT) • • . • • • • • •
32
cons t ruc t ing t h e Resident
Reente rab le Module
Area Optional:
MFT)
•
32
Cons t ruc t ing
t h e Resident BLDL L i s t Optional) • • • 33
Loading the Link Pack Area Modules
MVT)
• • • • • • • • • • • • • 33
Loading t h e Resident Reenterable Module Area Modules Optional :
MFT)
• • • • • • • • • • • • • • • • • • •
IGFMCHFO
Process ing
- -
Stage 2
• • • •
• • . . • • • • • • • •
35
35
Loading Optional Resident Routines MFT) • • • • • • •
• 35
Prepar ing Main
Storage When t h e System Conta ins
Main
Storage
Hierarchy
Support
fo r
IBM
2361 Core Storage MFT) • • • •
35
36
repar ing Main Storage MFT) •••• •••••••
Prepar ing
Main Storage MVT) • • • • • • • • • • • • • •
Estab l i sh ing t h e Final
Master
Scheduler
Region
MVT)
Defin ing
the
Dynamic Area MVT) • • • . • • • • • •
Verifying Hard Copy Requirements fo r MCS Optional) .
Estab l i sh ing
Hard
Copy Output capab i l i ty Optiona l )
NIP
Termina t ion
MFT) •
NIP Terminat ion MVT) •
LISTS
OF
ROUTINES • •
I n i t i a l Program Loader Program Control Sect ion
Nucleus I n i t i a l i z a t i o n Program Control
ect ion
TABLES
AND
WORK
AREAS
• • • •
Scat ter / l r ans la t ion Record
Cont ro l
Record • • • • • •
Relocat ion Dict ionary RLD) Record
Cont ro l
and Reloca t ion Dict ionary Record
Sca t t e r Extent L is t • • • • • •
FLOWCHARTS
APPENDIX A:
INITIALIZATION
FOR MVT WITH
MODEL
65 MULTIPROCESSING
Preliminary I n i t i a l i z a t i o n
a t
Entry to NIP
Checking t he F i r s t Main Storage
Unit
• 36
36
• 37
37
37
37
•
38
39
39
39
41
• 41
• •
42
•
43
44
•
45
• • 46
62
• • • 62
62
Temporary
Pref ixed Storage Area I n i t i a l i z a t i o n • • • • • •
• • 62
62
nit
Control Block I n i t i a l i z a t i o n • • • • • • • • • • • •
I n i t i a l i z i n g t h e
Channel
A v ai l ab i l i t y Table
I n i t i a l i z i n g
Direc t
Access Device UCBs
I n i t i a l i z i n g
Non-Direct
Access Device
UCBs
Pre f ixed
Storage
Area PSA) I n i t i a l i z a t i o n
I n i t i a l i z i n g t h e CPU Sta tus Byte CPUSTAT)
I n i t i a l i z i n g t h e Storage Element Sta tus Map FSSEMAP) •
I n i t i a l i z i n g t h e Pref ix PREFIX2) • •
I n i t i a l i z i n g t h e External
and Machine
New PSWs
Construct ing t h e Second PSA • • • . • •
I n i t i a l i z i n g t h e TCB Poin ter IEATCBP) • • • • •
I n i t i a l i z i n g the PTRIGGER Fie ld • • • • • • • •
I n i t i a l i z i n g t h e Timer Pref ix Fie ld PREFTMRA) ••••
I n i t i a l i z i n g t h e CPU Id en t i f i ca t i o n Bytes • •
I n i t i a l i z i n g t h e Console Id en t i f i ca t i o n Bytes CONSOLID)
I n i t i a l i z i n g the
Channel
A v ai l ab i l i t y Table • • • • • •
Defining
Main Storage
• • • • • • • • . • • • • • • • • •
Determining Unavai lab le Main Storage • • • •
Defining the Free Area
•••
• • • • • • • • • •
Final
ain
Storage
Prepara t ion
• • • •
Second CPU I n i t i a l i z a t i o n • . • .
I n i t i a l i z i n g t h e Channel A v ai l ab i l i t y Table • • • • • •
I n i t i a l i z i n g the Timer • . • • • • • •
Determining
Device
Avai lab i l i ty
• • • •
I n i t i a l i z i n g the TCB Poin ter IEATCBP)
Checking fo r Error Condit ions
NIP Termina t ion • • • • • • . • •
APPENDIX B:
NIP
INTERFACE ROUTINE
INDEX
v i
•
64
65
• • •
65
• • 65
• •
65
• • 67
• •
67
• • • 67
67
67
• 67
• 67
•
68
68
68
68
68
• • • 68
• •
68
•
70
70
• • 70
70
• • 72
• • 72
72
• • 73
· 74
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
7/87
ILLUSTRATIONS
Figure 1
Wait
St a t e
Error
Codes
• • • • • • • • •
Figure 2. Main
Storage
Layout
Before
IPL Relocat ion •
Figure 3. Main Storage
After IPL Relocat ion • • • •
Figure
4.
Read
Command
Modif icat ions
l
• • 7
7
• • 8
Figure 5. Main
Storage
After Loading F i r s t
Three
Sect ions
Figure 6 . Main
Storage
a t
IPL Terminat ion
9
9
Figure
7.
Regis te r Contents a t
IPL
Terminat ion
Figure
8. Data Extent
Block
I n i t i a l i z a t i o n
Figure 9. Timer Tes t BCT Loop Values
Figure 10.
Nucleus
Dummy Buffer S ize
Figure 11.
Defining Control
Program
Areas
in a System
Without
IBM
2361 Core Storage
MVT) • • • • • • • • • • • • • • • • • •
Figure 12. Defining Cont ro l Program
Areas
in
a
System
With IBM
2361 core Storage MVT)
• • • • • • • • • • • • • • • • • • • •
Fig u r e 13. Defining Control Program Areas
MFT)
Figure 14.
Main Storage
in an
MFT
System After Rebui lding
t he
•
10
• •
15
16
• •
16
18
•
19
20
System
Queue Area
• • • • • • • • • • • • • • • • • • • • • • •
25
Figure 15. Main
Storage
i n an VT sys tem
After
Rebui lding
t h e
System
Queue Area
• • • • • • • • • • • • • • • • • • •
26
Figure
16.
Loading
t h e MCH
Resident
Nucleus
• • • • • •
28
Figure 17.
MCH
Nucleus a t
Conclus ion o f
IGFMCHFO
Stage
1
Process ing 29
Figure
18.
Communications
Scheme
After I n i t i a l i z a t i o n
31
Figure 19. MFT Main Storage A f t e r Resident
BLDL
Li s t cons t ruc t ion
•
34
Figure 20.
MVT
Main Storage A f t e r Resident
BLDL
Cons t ruc t ion 34
Figure 21. MFT
Boundary Box
and Extension fo r
Main
Storage
Hierarchy
Suppor t
• • • • • • • • • • • • • • • • • • • •
•
36
Figure
22.
Fina l MVT Main s t o rag e
• •
36
Figure 23. Shared
Subpool 0 SPQEs
MVT)
Figure 24. Final MFT Main Storage
• • • • •
• • • • •
7
•
38
Figure 25. Main
Storage
After
Mul t ip rocess ing NIP Module Has
Been
Loaded 6
Figure 26.
Channel
Ava i l ab i l i t y
Table At
System
Genera t ion
• •
64
Figure 27.
MVT
with
Model 65 Mul t ip rocess ing
Addit ion to UCB
•
64
Figure 28.
Main
Storage After the Second
PSA
Has Been
Establ ished
•
66
Figure 29.
Main Storage
After Free Area
Has Been
Estab l i shed
69
Figure
30.
Fina l
Main
Storage
Layout
MVT
with
Model
65
Mult ipxocessing)
• • • •
Figure 31.
NIP I n t e r f ace Rout ine
7
73
Chart
AA. I n i t i a l Program
Loader
Control
Flow • • • • • • •
47
Chart AB. Nucleus
I n i t i a l i z a t i o n
Program Control Flow • • • • • • •
48
Chart
AC. Timer
I n i t i a l i z a t i o n
• • • • • • • • • • • • •
49
Chart
AD.
Superv i sor Cal l
SVC)
Table
I n i t i a l i z a t i o n • • • • • • • •
50
Chart
AE.
Machine-Check Handler I n i t i a l i z a t i o n
Model
65) 51
Chart AF.
CCH
I n i t i a l i z a t i o n Rout ine • • • • • • 52
Chart AG.
C C H P G M C K
• • • • • • • • • • • •
53
Chart
AB.
CCH
Move
Module
• • • • • • • • • • • •
54
Chart AI. I n i t i a l i z a t i o n
f o r
Rol lou t /Rol l in
• • • •
55
Chart
AJ. MVT
with
Model
65
Mul t ip rocess ing
I n i t i a l i z a t i o n
56
Chart
AK.
MVT
with
Model 65
Mult iprocess ing
Second
CPU
I n i t i a l i z a t i o n
• • • • • • • • • • • • •
58
Char t AL. I n i t i a l i z a t i o n fo r
SYS1.DUMP
Data se t
• • • •
59
v
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
8/87
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
9/87
For t he IBM System/360 Operat ing
System
to
func t ion
i n a computing system, t h e pro-
grams and t he i r assoc ia ted con t r o l blocks
and
work
areas
must be
loaded
in to
main
s to rage and prepared for opera t ion .
Loading t h e con t r o l program modules
i s
the
fUnct ion
o f t he I n i t i a l
Program
Loader,
re fe r red to
as
t he
IPL program.
After the IPL program completes t h e
loading fUnct ion, con t ro l i s passed
to
t h e
Nucleus I n i t i a l i z a t i o n
Program,
r e f e r r ed t o
as NIP, which
performs
t he funct ions neces-
sary to
i n i t i a t e
opera t ion o f the con t ro l
program.
NIP
a l so loads and i n i t i a l i z e s
opt iona l rou t ines
se l ec t ed by t h e
user .
This publ ica t ion
i s
a
guide
to t h e pro-
gram
l i s t i n g s
o f
IPL and
NIP.
Where
poss-
i b l e
the o rgan iza t ion o f t h e manual fo l -
lows
t he log ica l f low
of
t h e programs
d i s -
cussed and
t he
top ic s appear in t he order
o f t h e i r appearance
in
the program
l st-
ings . Unless otherwise ind ica ted IPL/NIP
processing
i s common
to
both MFT
and
MVT.
Only t h a t
processing
t h a t
i s
unique to one
o r t he o the r or processing
t h a t
i s opt ion-
a l
i s
noted
as
such.
This
s ec t i o n provides
an
overview and genera l
discuss ion of
the
o ther
s ec t i o n s in t he manual . D eta i l ed
informat ion
on
each rou t ine
can
be
found
in
the appropr ia te sec t ion .
THE INITIAL
PROGRAM LOADER
The I n i t i a l Program Loader (IPL) c lea r s
main s t o rag e determines main s to rage s i z e
re loca tes i t s own
i ns t r uc t ions
reads in
the se lec ted con t ro l program nucleus
and
r eso lves address cons tan t s .
When
IPL
has
completed i t s
opera t ions
co n t ro l i s t r a n s -
f e r r ed to the Nucleus I n i t i a l i z a t i o n Pro-
gram. IPL funct ions in the same manner
f o r
both
con t ro l program conf igura t ions ; the
con t ro l program nucleus
which
IPL
loads
governs t h e opt ion
of
the opera t ing system.
The sec t ion The
I n i t i a l
Program
Loader
descr ibes
the
IPL
fUnctions
in
d e t a i l
and
i s
div ided
i n to the fol lowing t op ic s :
• Loading t h e
IPL Program
•
Determining
t h e
Nucleus
•
Clear ing
Storage and Determining
ts
Size
• Finding t h e Selec ted Nucleus
INTRODUCTION
• Assigning Nucleus Control Sec t io n
Addresses
•
IPL
Program
Relocat ion
•
Loading
t h e Nucleus Cont ro l Sec t io n
• Replacing
Nucleus
Address Constants
• Giving
Contro l to the
Nucleus I n i t i a l -
i za t ion Program
THE NUCLEUS INITIALIZATION PROGRAM
The
Nucleus I n i t i a l i z a t i o n Program (NIP)
prepares the co n t ro l program fo r
opera t ion
by
def in ing main s to rage areas
and
i n i t i a l -
i z ing cer ta in t ab les work areas and con-
t r o l
blocks.
These
NIP
funct ions
vary
according to the con t ro l program opt ion
MFT o r MVT , so
t h a t
NIP code fo r an
MVT
system wi l l
conta in rou t ines t h a t do not
appear in
NIP
code fo r an MFT
system.
These
d i f f e r en ces r e su l t from
s e l e c t i v e
process ing o f t he NIP macro
i ns t r uc t ion
dur ing
system genera t ion .
According
to the
system being generated program
swi tches
a re se t which
cause
sec t ions o f
coding to
be
included
in
or de le ted
from, t he NIP
load module produced by
system
genera t ion .
NIP a l so loads and i n i t i a l i z e s o p t i o n a l
rou t ines se l ec t ed
by opera to r command a t
system
i n i t i a l i z a t i o n .
The
NIP sec t ion o f
t h i s
publ ica t ion
i s
organized
in
the o rder of
appearance
o f
rou t ines in t he NIP
macro.
Each rout ine i s
i d e n t i f i e d with the opt ion
o r
opt ions o f
the con t ro l program
in
which
t
i s
included;
f o r example, t h e NIP
Relocat ion
rout ine appears only in
NIP
fo r an MVT
system.
LISTS
OF
ROUTINES
This
s ec t i o n l i s t s
the
IPL and NIP
rou-
t i n e s
by
t h e i r
en t ry
po in t names and gives
a br ie f synops is of
the
rou t ine func t ion
including the t a b l e s work a reas
and con-
t r o l
blocks used
by
the
rou t ine . In
cases
where
a ro u t i n e
i s
embedded
with in
another
rout ine
and
does not
have
a s p e c i f i c en t ry
po in t
name,
the
n ea re s t
en t ry po in t
i s
given in paren theses .
TABLES AND WORK AREAS
This sec t ion
presen t s i l l u s t r a t i o n s
of
t h e t a b l e s work areas con t ro l blocks and
In t roduct ion
1
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
10/87
record formats r e fe r red to i n t h i s publ ica
t ion .
Many o f
t he con t r o l
blocks used by
IPL
and NIP
are s tandard
system con t ro l
blocks
and
can be found
in
other
pub l ica
t ions . For the convenience o f
the
read e r
however
they
a re
inc luded
i n t h i s
sec t ion .
FLOWCHARTS
This
sec t ion
contains
t he log ic
f low-
char t s for
IPL
and NIP. The char ts a re
arranged to fo l low
t he
same order as the
presen ta t ion
of the top ic
or funct ion
the
char t
represen t s .
Char ts for
MVT with
Model 65 mult ip rocess ing
are
included.
APPENDIX A:
INITIALIZATION
FOR MVT WITH
MODEL 65 MULTIPROCESSING
In add i t ion
to
i n i t i a l i z a t i o n
f o r MVT
i n i t i a l i z a t i o n
fo r
MVT with
Model 65
mul t i -
2
processing requ i res spec ia l procedures .
These
procedures are
performed
by a spec ia l
module IEAMP650)
and
are
descr ibed n
Appendix A. The reader should unders tand
the
Nucleus
I n i t i a l i z a t i o n Program for MVT
before
using
the appendix.
APPENDIX
B: NIP
INTERFACE ROUTINE
NIP
uses
subrou t ines to perform r e p e t i
t i v e fUnct ions during i n i t i a l i z a t i o n
pro
cess ing. Because
only one base r eg i s t e r i s
ava i lable for executable code NIP uses
in te r face rou t ines assembled in
the
con-
s tan t s area
to
maintain
cor rec t
addressab i
l i t y
in branching to these subrou t ines .
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
11/87
The I n i t i a l Program Loader IPL) i s a
program which
i n i t i a l i z e s main s torage
and
loads
the con t ro l program
nucleus.
The IPL
program funct ions
in
exac t ly the same way
regard less of the con t ro l program opt ion to
be
loaded. As a
r e su l t ,
IPL may perform
some
fUnctions which
a re not necessary
fo r
a
p a r t i c u l a r system i n i t i l i z t i o n ~
the
nucleus i n i t i a l i z a t i o n program wil l
not
requi re some of the information. However,
IPL can
i n i t i a l i z e t he same
generated sys
tem
on varying machine
conf igura t ions
and
use ts
work
areas and t ab les to communi
ca te with the nucleus i n i t i a l i z a t i o n pro
gram.
The nucleus i n i t i a l i z a t i o n program
i s ab le to
determine
any r es t r i c t ions , such
as machine s ize , by using these
t ab l e s
and
work areas .
The IPL r ecords , loca ted on the system
res idence volume,
cons i s t
of three r ecords .
The
f i r s t
record i s read in to main s to rage
by
a
hardware fea ture
and causes the second
r ecord
to be read
i n to
main s to rage
above
the a rea to be
occupied by IPL.
A t r a n s f e r
in channel TIC)
command by the f i r s t reco
rd
causes the
execution
o f t he second, o r
boots t rap ,
record.
The boots t rap
record
causes the t h i r d
record , the IPL
program
t ex t , to
be
read
i n t o
main s torage , over
l ay ing
t he
f i r s t record.
The
IPL program:
•
Determines t he
nucleus to be used
( e i the r the
s tandard
nucleus o r an
a l t e r n a t i v e
use r - se l ec t ed
nucleus
can
be
used) .
•
Clear s
main s to rage
and
determines i t s
s ize .
•
Finds t he se l ec t ed nucleus on secondary
s to rage .
•
Assigns main
s to rage addresses
to
the
nucleus con t ro l sec t ions .
• Relocates the unexecuted por t ion
of
ts
own
i ns t r uc t ions and
work
areas
to pre
vent
being
over la id when
the nucleus
cont rol
sec t ions
are read i n to
main
s to rage .
When these p repara t ions a re complete,
the IPL program:
•
Reads
the nucleus i n i t i a l i z a t i o n pro
gram i n t o
a predetermined area of main
s to rage .
• Reads the nucleus con t ro l sec t ions
i n to
main s to rage .
THE
INITIAL
PROGRAM
LOADER
• Estab l i shes
addr e ssab i l i t y among t he
con t ro l sec t ions by reso lv ing address
cons tan t s .
In performing these opera t ions ,
IPL
uses
i t s own inpu t /ou tpu t
r ou t ine IEASTRIO),
and
i n t e r p r e t s
l inkage ed i to r
outpu t
in
order
to reso lve
addresses .
IPL performs these opera t ions for
a l l
of
the con t ro l program
o p t i o n s ~ t he
d i f
ferences in control
program i n i t i a l i z a t i o n
a re handled by the nucleus i n i t i a l i z a t i o n
program NIP).
When IPL success fu l ly
completes a l l
pro
cess ing ,
t
t r ans fe r s con t r o l to NIP.
I f
an er ro r occurs during
IPL, t he
sys
tem i s placed
in
a wai t s t a t e
and an e r r o r
code i s
s to red in the
program s t a t u s
word.
These
wai t s t a t e codes are expla ined in
Figure 1 . Fur ther discuss ion
and
user
ac t ion requ i red
can be found in
Messages
and Codes.
LOADING THE
IPL
PROGRAM
To
prepare
for i n i t i a l program load ing ,
the opera tor mounts
the
system
res idence
SYSRES) volume on a
d i r e c t
access device
and
se t s the
load uni t
address switches
to
the uni t
address
of
t ha t
device . I n i t i a l
program
loading
i s then i n i t i a t e d by pres
s ing the LOAD key.
Press ing
the
LOAD key
causes
a
system
r ese t , tu rns on the LOAD l i g h t , t u r ns of f
the MANUAL l i g h t , and i n i t i a t e s a r ead
operat ion from
t he se l ec t ed
inpu t device .
When the r ead operat ion
i s
completed s a t i s
f a c t o r i l y , the
IPL
PSW i s
obta ined ,
t he CPU
s t a r t s
opera t ing ,
and t he LOAD
l i g h t
tu rns
of f .
When the read operat ion
i s
i n i t i a t e d ,
t he se l ec t ed inpu t
device
s t a r t s t r a n s f e r
r ing data . The f i r s t 24 bytes are r ead
i n t o s to rage loca t ions 0-23. Storage pro
t ec t ion , program
cont rol led in te r rup t ions ,
and
a poss ib le
i ncor r ec t - leng th ind ica tion
a re ignored. The doubleword r ead i n to
loca t ion 8 i s a channel command
word
CCW)
which causes the
loading
of the
second
IPL
record,
t he
bootstrap record.
The boots t r ap r ecord i s loaded in to
s to rage a t
an
address higher than
t he
s i z e
of
t he
IPL program t e x t ( the t h i r d
record)
to ensure t h a t
the record
wil l
not be over
l a id by t he IPL con t ro l sec t ion . The
The
I n i t i a l Program Loader
3
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
12/87
t r ans fe r n channel command
a t loca t ion
16
in the f i r s t record)
spec i f i es the
address
of the boots t rap record.
The
boots t rap
record
i s
a chain of
CCWs
t ha t cause the
IPL
con t r o l sec t ion
to be read in to main
s torage , beginning a t loca t ion
O.
When
the device
provides channel end
the l a s t CCW in the chain i s executed),
the u n i t
address i s stored in b i t s 21-31 of
the
f i r s t
word
n
s torage . Bi t s
16-20
are
s e t
to
0, and
b i t s
0-15 remain unchanged.
The CPU
then
fe tches t he doubleword
in
s torage loca t ion 0 as a new
PSW
and pro
ceeds as in a normal operat ion. The LOAD
l i gh t then turns of f .
r----T-----------T------------------------,
ICodelBit PatternlMeaning I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I 01 10000
0001
11/0 not operat ional I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I 02
10000
0010 ICSW
s tored
on
er ro r
I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I
03 10000 0011 11/0 not
i n i t i a t e d
~ - - - - t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I 04
10000
0100
IEr ror
on
TIO I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I
05 10000 0101
IUnit-check caused by I
I I Iother than TCC, EOT, I
I I IEOCYL Four Sense bytes I
I I
l a re
moved
to loca t ion
841
I I
I for
stand-alone
dump.
I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I 06
10000
0110 IUndefined
er ro r
I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I
07
10000 0111
INo-console
condi t ion
a t
I
I I IIPL I
~ - - - - t - - - - - - - - - - - t - - - - - - - - - - - - - - - - - - - - - - - - ~
I 17 10001 0111 IUni£-check on Sense I
I I I Command I
~ - - - - t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
I
18 10001
1000
IAvai lable
s torage
I
I I Iexceeded
for
RLD records
I
~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
19 10001 1001 IUnexpected Program
check
I
l J
Figure 1. Wait
Sta te
Error Codes
Clear ing Regis te rs
The f i r s t executable
in s t ruc t ion
in IPL
loads
zeros in to
r eg i s t e r s 1 through 14
r eg i s t e r
15 i s used
as a
base r eg i s t e r ) .
The
address
of lEAPCRET i s then
placed
in
r eg i s t e r 10. IEAPCRET
i s
the re turn point
from
the
f i r s t expected program
check.
(Program check in ter rupt ions
are handled
by
IPL. The
program
new
program
s ta tus
word
i s cons t ruc ted po in t ing to IEAINT. lEAINT
i s a
branch
on r eg i s t e r 10; t he contents
o f
r eg i s t e r 10 are modified
by IPL
rout ines to
handle the next
expected
in te r rup t ion . )
IPL
then
determines i
an a l t e rna t ive
nucleus
has
been
se lec ted or
i main
s torage
s i ze
has been l imi ted by
opera to r
ac t ion.
4
DETERMINING
THE
NUCLEUS
The user has the opt ion
of se lec t ing the
nucleus to
be
loaded. The
opera tor
oom
mUnicates t h i s
information
to the
IPL pro
gram by
stopping a t
loca t ion
80 (hex), and
s tor ing
the su f f ix for
the a l t e rna t ive
nuc
leus
i n to loca t ion 8.
On
System/360
CPU
models, the s topping
i s
accomplished by
se t t ing the ADDRESS COMPARE switches to 80.
On
System/370
CPU
models,
the
RATE switch
i s s e t
to INSTRUCTION STEP before
the
opera to r p resses the LOAD key. (The
pr i -
mary nucleus
name i s IEANUC01; user a l t e r -
nat ive
nuc le i
a re
given unique names
by
appending
2
through
9 to
the
base name
IEANUCO.)
For fur ther
information
about
nucleus generat ion,
see
System Generat ion.
As i t s f i r s t opera t ion a f te r c lear ing
r eg i s t e r s ,
IPL
t es t s
loca t ion
8. I f
loca-
t ion
8 i s not zero, the
charac te r found i s
appended to the nucleus name and the name
thus formed
i s s tored
a t
IEANUCY
for l a t e r
use.
I f loca t ion
8 s zero, the
primary
nucleus
IEANUC01) i s
used.
At t h i s t ime, the opera tor may a lso
l im i t
apparent s to rage s i ze ,
by
s tor ing a
hexadecimal charac te r
i n to loca t ion
9.
CLEARING
STORAGE AND DETERMINING ITS
SIZE
After the
IPL
program has
determined
the
nucleus,
i t s next opera t ion i s to determine
i a
l i m i t
has
been se t
on main
s torage
s i ze . Locat ion 9
(hex)
i s
t e s ted fo r
zero.
I f not
zero,
the maximum s torage
s i ze
i s
se t according
to
the
charac te r
which has
been
loaded
in to
loca t ion
9.
The
val id
characters
and
t he i r
meanings
are:
• X C6
i nd ica t e s
maximum
s torage
of
64K.
• X C7 indicates maximum s torage of
128K.
• X A7
indica tes
maximum
s torage of
192K.
•
X C8
indicates maximum s torage of
256K.
• X A8 indica tes maximum s torage of
384K.
•
X C9 i nd ica t e s
maximum
s torage
of
512K.
• X DO
indica tes
maximum
s torage
of
768K.
• X Dl indicates maximum s torage of
1024K.
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
13/87
IPL l a t e r c lea r s s to rage , up
to
the
indica ted l im i t ,
by
moving
zeros . Even
though
more
main s to rage might
be
ava i l ab le
on the machine
sys tem,
any addresses above
t he spec i f i ed l i m i t w i l l
be ignored
by the
con t ro l
program, and any l a t e r
at tempts to
address s to rage above t he l im i t may
r e s u l t
in
a protec t ion v io la t ion
i n t e r r up t ion .
Clearing Float ing Point Regis ters
IPL next loads zeros
i n t o
the
f loa t ing
point
r e g i s t e r s ,
using a se r ies of LDR
i ns t r uc t ions . I f
the system i s not
equipped with f loa t ing- po in t r eg i s te r s , a
program
check in te r rup t ion occurs . The
program
new
PSW ( loca t ion 60 hex) poin t s to
lEAINT
which
i s
a branch in s t ruc t ion BR
10).
Since
r eg i s t e r 10 was prev ious ly
loaded
with the
address of lEAPCRET, con
t r o l i s re tu rned t o tha t poin t . lEAPCRET
i s
the in s t ruc t ion
fol lowing
the
s e r i e s
o f
LDR in s t ruc t ions .
Regis te r
10 i s then
loaded
with
the address o f lEAROUND, the
rout ine
which
i s to gain con t ro l
a f t e r
t he
next expected
program
i n t e r r up t ion .
INDICATING SIZE OF MAIN STORAGE
IPL c lears
main s to rage using
an
MVC
in s t ruc t ion in a loop, moving 256
zeros
a t
a
t ime.
This cont inues
u n t i l
an address ing
i n t e r r up t ion
occurs . The rou t ine t h a t
c lea r s s to rage i s i d e n t i f i e d
on
t he
program
l i s t i n g s by
the
name lEAZRLP3.
The
expected in te r rup t ion i s handled
(via pro
gram
new PSW
and
IEAINT)
by IEAROUND.
IEAROUND rounds
main
s to rage
s i z e ( in
r e g i s t e r 9)
to
a
doubleword
boundary and
s to r e s t h i s rounded value a t lEAMAXC. The
rou t ine IEAKYLP then se t s the s to rage
key
fo r
each
2K block of s to rage to the super
vi sor key of
o.
FINDING THE SELECTED
NUCLEUS
The IPL nucleus loca t ion
rou t ine
IEAPC
KEY searches fo r t he chosen nucleus name
on
the pr imary sys tem r es idence volume and
determines the
l oca t ion
of
t he
nucleus data
se t . To
l oca t e t he cor r ec t
nucleus, the
rou t ine :
1. Passes
t he
address of the system r e s i
dence device ,
s to r ed
a t l oca t ion 2,
to
the
I/O
subrou t ine
IEASTRIO).
This
device
conta ins t he system
res idence
volume.)
2.
Reads
the
l abe l
o f
the
sys tem
r e s i
dence
volume to
f ind the
address of
t he VTOC, which
con ta ins the
data
s e t
cont rol block fo r the nucleus data
se t .
3.
Reads
t h e
data
se t
con t ro l
block for
the
VTOC
to determine
the
number
of
t racks
per
log ica l cy l inder o f t he
system
r es idence dev ice . IPL obta ins
t h i s
value ,
s ince
d i f f e r e n t types o f
d i rec t
access devices
may
be
used.)
4. Reads the SYS1.NUCLEUS DSCB
to de te r
mine the
loca t ion o f
the par t i t ioned
data s e t
di r ec to r y .
5. Determines the
l oca t ion
o f
the f i r s t
sca t t e r / t r ans la t ion record fo r the
nucleus data s e t member from
t he pa r
t i t i o n e d data se t di rec tory r ecord
conta in ing t he nucleus name.
6. Reads
the
sc a t t e r / t r a n s l a t i o n
record
i n to
main
s torage above
the t e x t
of
the IPL
program.
ASSIGNING
NUCLEUS
CONTROL SECTION ADDRESSES
For each nucleus cont rol
sec t ion , t he
IPL program
ass igns
an
address
in
main
s torage and
ca lcu la t e s a r e loca t ion
fac tor .
The re loca t ion fac tors a re
used
to conver t
address cons tan t s
to
the ac tua l main
s torage
addresses .
Since IPL obta ins t h e nucleus s t ruc tu re
from the sc a t t e r / t r a n s l a t i o n record ,
IPL
can
only ca lcu la t e
con t ro l
sec t ion
addresses a f t e r
t h i s r ecord has been read
i n t o
main
s torage . The
composit ion
of the
nucleus cannot
be
known
in
advance because
severa l opt ions t h a t a f f e c t nucleus s ize
a re
avai l ab le a t sys tem
genera t ion . )
More
information
about sys tem genera t ion
i s
avai l ab le in
System
Genera t ion.
The sc a t t e r / t r a n s l a t i o n r ecord contains
the sca t te r l st and the
t r ans la t ion
t ab le ,
which
are
provided y
l inkage
ed i to r to a id
in
the assignment of CSECT addresses . The
sc a t t e r l st conta ins suggested r e l a t i v e
load addresses
for
the S E T s ~ the t r ans la
t i o n
tab le
gives indexes for the displace
ment of each cont rol
se c t i o n s
s c a t t e r l st
entry
from
the
s t a r t o f
the
l i s t .
Note: In
aSSigning
and
ca lcu la t ing
addresses for
the nucleus con t ro l
sec t ions ,
IPL expects
t ha t
t he
f i r s t
two cont rol
sec
t ions in the
nucleus
member data se t
a r e
the
nucleus
i n i t i a l i z a t i o n
program
con t ro l
sec t ion and the I /O in te r rup t ion handler
con t ro l
sec t ion . The f i r s t CSECT NIP) i s
loaded ad jacen t to the re loca ted IPL t e x t
in high-address s to rage ,
t he second
CSECT
i s loaded a t abso lu te
loca t ion
0, as
t he
I/O i n t e r r up t ion handler CSECT
def ines
t he
permanent
s to rage
area
f o r
the
cont rol pro
gram. I f
t he se
two CSECTS a re not
in
t h i s
order , i n i t i a l i z a t i o n and
subsequent
opera
t i o n i s
unpred ic tab le .
The
I n i t i a l
Program
Loader 5
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
14/87
C LCUL TING THE ADDRESSES
Using the r e l a t i v e or igins obtained
from
the s c a t t e r
list
IPL determines
t he
main
s to rage a rea requ i red by each con t ro l sec
t ion . IPL
cons t r uc t s
a
t ab l e
of these
s i ze s
and
uses it
to ass ign
CSECT loading
addresses ,
which
it
places
in
an
address
t ab le .
The
IPL-constructed t ab l e s a re of the
same s t ruc tu re as the s c a t t e r t a b l e ,
and
the e n t r i e s assoc ia ted with a given CSECT
have
t he
same r e l a t i v e posi t ion
in
each
IPL
t ab le as in
t he
s c a t t e r t ab le .
Building
the Size Table SIZTABLE)
Using the
sc a t t e r t ab le
information to
ca lcu la t e t he
s i z e
of every
con t ro l
sec t ion
but the l a s t , IPL:
1 .
Subt rac t s the con t ro l
sec t ion
or ig in
from t he
next higher
cont ro l sec t ion
or ig in . This
gives the
area
s i ze
requ i red
f o r
the former CSECT.
2 .
Stores
the di f fe rence in t he
s ize
tab le
in
a pos i t i on corresponding to
t h a t o f the cont rol sec t ion en t ry in
t he
sc a t t e r
t a b l e .
To ca lcu la te the s i z e of
the
l a s t
CSECT,
IPL
sub t r ac t s
t h a t CSECT s r e l a t ive
or ig in
from the s i z e of the
e n t i r e
nucleus , which
was obta ined
from
t he pa r t i t i oned data se t
di r ec to r y
record.
Building the Address Table ADRTABLE)
IPL
makes address
assignments
f i r s t f o r
the NIP and I/O
i n t e r r up t ion
handler con
t r o l
sec t ions ,
which have
the t r a n s l a t i o n
tab le en t r i es
immediate ly
fol lowing
t he
i n i t i a l
dummy
ent ry .
Since NIP remains
in s torage
only tem
por a r i ly ,
IPL loads it
adjacent
to the por
t ion of IPL
t h a t has
been re loca ted (which
a l so
i s in
s to rage t emporar i ly ) .
This
address
i s
obta ined by sub t rac t ing the s i z e
o f t he
area
needed by
the
NIP con t ro l sec
t ion from
t he r e loca t ion
address o f IPL.
The
di f fe rence i s
s tored in
NIP s ent ry
in
the address t a b l e .
IPL then ass igns the I /O
i n t e r r up t ion
handler an address
o f 0 s ince it
con ta ins
the
pre-assembled
Program
Sta tus
Words
(PSWs), which are not re loca table .
Since
other nucleus
con t ro l sec t ions
may
be placed in main
s to rage
in random
order ,
t h e i r addresses in s t o rag e have t he same
numerical
r e l a t i o n as t h e i r
en t r ies in
t he
t r a n s l a t i o n
tab le . (The t r ans la t ion
t a b l e
is
an
a l t e r n a t i v e
suggest ion
of
loading
order from
l inkage ed i to r . ) IPL
ca lcu la t e s
these addresses by:
6
1. Adding to the preceding en t ry
i n t he
address
t ab le the
assoc ia ted
en t ry in
t he s ize t ab le . For
example,
t he
second
address p laced
in
the t a b l e
w i l l be equal to the s i ze o f the I /O
in te r rup t ion handler , which
has
an
address o f zero .
2. Stores the sum
in
the address t a b l e
in
a l oca t ion corresponding to t h a t con
t r o l s e c t i o n s e n t r i e s
in the
sc a t t e r
and s i z e
t ab les .
C LCUL TING THE RELOCATION F CTORS
The IPL program uses the addresses it
has ass igned to
t he
control sec t ions to
ca lcu la t e t he corresponding r e loca t ion
fac
t o r s . For each
control
sec t ion, IPL
sub
t r a c t s
the suggested r e l a t ive or ig in found
in
t he
s c a t t e r
t a b l e
from
t he
ass igned main
s to rage
address .
The
di f fe rence ,
which
may
be pos i t i ve
o r
negat ive , i s s to r ed in the
re loca t ion f ac to r
t ab l e
RLFTABLE). For
example,
cons ider the re loca t ion
f ac to r
fo r
the I/O
i n t e r r up t ion
handler CSECT. The
ass igned address
i s loca t ion
0,
but
the
r e l a t ive or ig in may be 2000. The r e loca
t i on f ac to r i s then -2000.
The CSECT en t r ies
in the
RLFTABLE are in
the
same
order as
in t he sc a t t e r , s i z e ,
and
address
t a b l e s .
Therefore, RLFTABLE
en t r ies a lso a re access ible through t he
t r a n s l a t io n t a b l e .
IPL PROGR M RELOC TION
IPL, Which was
loaded beginning
a t loca
t ion 0,
must
load the nucleus t ex t i n to
the
area o f s to rage it now
occupies.
To make
room f o r
the
nucleus t e x t , IPL r e loca t e s
i t s t ab l e s and
the
unexecuted por t ion of
code
to upper main s to rage . The r e loca t ion
address
i s
determined by the s i z e of
s to rage
and
the s i z e o f the
IPL
t ab les and
code to
be re loca ted.
The
s ize
o f
unex
ecuted
IPL code
and
IPL t ab l e s i s sub
t r ac ted from an address determined by
s to rage
s i z e .
The r e su l t o f
t he
subt rac
t i on gives the
beginning address
o f
the
re loca ted
IPL.
For
s to rage
s izes
S12K
and
grea te r , IPL s i z e i s sub t rac ted from
SOaK.
For
s torage s ize 256, IPL s iz
i s
sub
t r a c t e d
from
252K.
For
other
s izes
l e s s
than
512K
IPL s i ze i s
sub t rac ted
from the
highest
ava i l ab le s to rage address . The
re loca ted por t ion of IPL w i l l
never
occupy
s to rage above SOaK. Relocat ion i s accomp
l i shed
using the
IE DDR rou t ine . After
IPL re loca tes
i t s
t ab les
and
unexecuted
in s t ruc t ions , it moves zeros i n t o the
s to rage it occupied before
re loca t ion.
Figures
2
and
3 i l l u s t r a t e
main s to rage
before and
a f t e r IPL re loca t ion.
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
15/87
Cleared
Storage
Highest
Address
for
IPL/NIP
Relocation Factor Table RLFTABLE)
low Address
Figure
2
Address Tab Ie
ADRT
ABLE)
Size
Table
Scatter list
Translation
Table
PL Program
Main
Storage
Layout
Before
IPL
Relocation
Relocation Factor Table
RLFTABLE)
Highest
Address
for
IPL/NIP
low
Address
Figure
3
Address
Table
ADRTABLE)
Size Table
Scatter
List
Translation Table
PL Program
Available Main
Storage
Cleared to all 0
Main
Storage
After
IPL
Relocation
The
n i t i a l
Program Loader
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
16/87
LOADING
THE
NUCLEUS
CONTROL SECTIONS
The IPL
program
reads in nucleus CSECTs
in any
sequence
tha t it encounters them in
the
load
module.
Firs t , the
IPL program
in i t ia l izes a 260-byte buffer in
main
storage. t uses t h i s buffer to read in
control , RLD,
and control/RLD records. IPL
reads the f i r s t nucleus control record
in to
the buffer . Then,
to load
each control
sect ion, the
IPL
program:
1. Determines, from
the
record
in
the
buffer ,
the length of the
following
t ex t record and
the
external symbol
dict ionary
iden t i f ica t ion number
ESDID) of the control
sect ion
con
ta in ing the t ex t record.
2.
Finds the
proper
t rans la t ion table
entry, so tha t it can obtain the re lo -
cation factor. The
control
sect ion
ident i f ica t ion number
i s
also the dis-
placement
of
the
corresponding
entry
from
the
s t a r t of
the
transla t ion
table . The IPL program uses th i s
value as
an
index
to
the
tab le to
f ind
the
appl icable entry.)
3. Finds
the
re locat ion factor for
the
control sect ion by
using
the
t rans la-
t ion table entry multiplied by four)
as
a displacement within
the
re loca
fac tor tab le . All text records in
the
same control
sect ion
have the same
re locat ion fac tor . )
4.
Modifies
a
preassembled READ
command
in the
control
record by
adding the
relocation fac tor
to
the
operand
of
the command,
which has
been
se t
by
linkage edi tor
to
the
re la t ive
or ig in
of
the
CSECT
in
the
load
module.
Figure 4
shows
the
modification
of
the
read commands for the
text
records of
a Single CSECT.
Name
Operation
Operand
Preassemb led
RDRCDI
RD
100
{256 Bytes}
Read
Commands
RDRCD2
RD 356
{256 Bytes}
RDRCD3
RD
612
{20 Bytes}
Read
Commands
RDRCDI RD
80
{256 Bytes}
With
RLF -20
RDRCD2 RD
336
{256 Bytes}
added
to
Relative
RDRCD3
RD
592
{20 Bytes}
Origin
Note:
CSECT
with
assigned s t o r ~ g address of 80
and
relative
origin of 100 is assumed. This
table
shows modification o f
commands to read first three records
of CSECT
•
Figure 4. Read
Command Modifications
8
5. Passes
the preassembled READ
command
to
the
I/O subroutine
IEASTRIO),
which then reads the t ex t record in to
the
loading address.
6.
Reads
in to
the
buffer the control ,
control/RLD, or
RLD record following
the
t ex t record.
7. Moves any re locat ion information for
the
control
sect ion
from
the
record
in
the buffer
into
the relocation
dic
t ionary RLD)
area above the high
end
of the
nucleus.
Figure 5
i l l u s t r a t e s
the placement of
RLD
information.
I f
the
record
i s
an RLD record, which
contains only
relocation
information,
IPL
reads and t ransfers RLD
informa
t ion
unt i l it encounters a control or
control/RLD record
on
the
data se t
member).
8.
Repeats the procedure from the f i r s t
s tep
un t i l
a l l
of
the
nucleus t ex t
has
been
read into main
storage.
Figure
5
shows
the
arrangement of
storage af te r three control sections are
loaded. IPL loads the CSECTs in
the
order
in which it encounters them on
disk and
not
n the order of the i r main
storage
addresses.
REPLACING NUCLEUS
ADDRESS CONSTANTS
IPL establishes
addressabi l i ty
among
the
control sections by
converting nucleus
address constants to the i r main storage
equivalents .
The IEARELOC routine uses the
address tab le and the RLD
information
to
make
the
conversions.
From
the
address
tab le ,
IPL
obtains the
location
of
each
control sect ion: then
from
the
RLD information,
IPL
findS the
length and
displacement
from
the
control
sect ion orig in
of each
address
constant in
the CSECT.
IPL adds to each of these
address
con
s tants
the relocation
factor for
the CSECT
refer red to by the constant. Final ly , IPL
replaces each
address
constant
with
the
corresponding sum
it
has computed, which i s
the actual
main storage
address.
Figure 6 shows the
layout of
storage
af te r
a l l
CSECTs
have been
loaded
and
address constants
have been replaced.
GIVING CONTROL
TO
THE NUCLEUS
INITIALIZATION
PROGRAM
When it
gives control to
NIP,
the
IPL
program
loads,
into general regis ters ,
the
s ize of
main
s torage, the address
of
the
system
residence device,
the
address
of the
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
17/87
s i ze tab l e
the address of the
address
tab le
the
number
of
entr ies per tab le and
the address
of the
next doubleword above
the
end of the
nucleus. The
contents of
general
regis ters at IPL
termination i s
shown in Figure
7.
The
IPL
program then
Relocation Factor Table
RLFTABLE)
Address Table
ADRTABLE)
Size
Table
Scatter List
Translation
Table
Re
located
portion
of
IP L program
First loaded CSECT text
N IP Program)
Zeros)
RLD
Data - 3rd CSECT
RLD Data - 2nd CSECT
RLD Data - 1st CSECT
Zeros)
Third loaded CSECT
Zeros)
Second loaded CSECT text
I/O Supervisor)
ow Address
Figure
5. Main
Storage After
Loading
Firs t
Three Sections
Highest
Address
for
IPVNIP
branches to absolute
locat ion 6C
hex).
This
locat ion
contains an ins truct ion to
load
the
program s tatus word from
locat ion
170 hex), which contains the s tart ing
address
of the
Nucleus In i t ia l i za t ion
Program.
Relocation Factor Table
RLFTABLE)
Address Tab Ie ADRTAB LE)
Size Table
Scatter List
Translation
Table
Relocated
Portion
of
IPL
Executed)
NIP Program
Text
Available Main Storage
zeros)
Used
RLD Data
Nucleus Text
ow
Address
Highest
Address
for
IPVNIP
Figure 6.
Main
Storage at
IPL
Termination
The
I n i t i a l Program
Loader 9
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
18/87
Reg
ontent
Reg
ontent
0 aries
B
Address of ADRTABLE excluding Dummy Entry)
Varies
9
Number of Entries per table number of CSECTS)
2
aries
1
SYSRES Device Address
3 Varies
Varies
4 Address of SI ZT AB L excluding Dummy Entry)
12
Varies
5 Varies
13
Varies
6
Storage
Size
14
Varies
7 Address of End of Nucleus 15
aries
Figure 7
Register
Contents
t IPL
Termination
10
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
19/87
The Nucleus I n i t i a l i z a t i o n
Program (NIP)
i s
assembled
a t system
genera t ion from
a
system genera t ion SYSGEN) macro SGIEA2NP)
according
to
the
opt ions
se lec ted for the
system being genera ted . Therefore, the
order
of
the rou t ines in NIP i s
t he
same
fo r a l l l eve l s o f
the
con t ro l program, but
NIP
fUnctions
vary according to t he con t ro l
program
se l ec t ed
- - some funct ions may be
dropped from the assembly en t i r e ly ,
e i t h e r
because
they are no t supported by a
cont rol
program
l eve l o r not
se l ec t ed
as a SYSGEN
opt ion.
This sec t ion
descr ibes
the
organ iza t ion
and
funct ions
o f
NIP
in
the order
of
the
appearance
o f
rou t ines
in the NIP
macro
i ns t r uc t ion .
Each func t ion
i s i d e n t i f i e d
by:
1 . The con t ro l
program
l eve l MFT, MVT
to
which
t app l i e s .
2. A rou t ine o r
en t ry
poin t
name
to
a s s i s t the
reader
in r e la t ing the
descr ipt ion to
t he
program l i s t i n g . A
l st o f
NIP
r ou t ine s and t h e i r en t ry
po in t s
i s
inc luded in the
sec t ion
Lis ts of Routines .
I f the con t ro l program i s to be MVT with
Model
65
mult ip rocess ing ,
a
spec ia l
module
IEAMP650) must perform
some
of the
i n i
t i a l i z a t i o n
procedure .
The add i t iona l i n i
t i a l i z a t i o n for MVT
with
Model 65 mu l t i
processing
i s discussed
in Appendix
A.
NIP crea tes some cont rol blocks
and
t ab l e s
which a re used l a t e r by con t ro l
p ro
gram
rout ines . NIP a lso uses
con t ro l
blocks
and
t ab les
which
are assembled
as
pa r t of nucleus cont rol sec t ions . These
con t ro l
blocks and t ab les a re discussed no t
only from the s tandpoin t o f NIP's
use ,
but
a l so the l a t e r
use
by con t ro l program rou
t ines .
The
cont rol
blocks and
t ab les
which
a re
used
o r
i n i t i a l i z e d by
NIP are
descr ibed
in more d e t a i l i n
the sec t ion
Tables and Work Areas . Detai led d es c r i p
t i ons
of
major sys tem
con t ro l blocks can be
found
in
System Control
Blocks .
I l lu s t r a t ions o f main s torage layout
during var ious s tages
of
NIP
execut ion
are
included i n t h i s sec t ion . Where necessary ,
each con t ro l program l eve l i s i l l u s t r a t e d
separa te ly .
THE NUCLEUS
INITIALIZATION
PROGRAM
NUCLEUS TABLE INITIALIZATION
The nucleus i n i t i a l i z a t i o n program
f i r s t
i n i t i a l i z e s
system
t ab les
which
a re
used
by
NIP
and
then l a t e r used y con t ro l
program
rout ines . Some of these
t ab l e s
are opt ion
a l , other s vary s l i g h t l y according to
con
t r o l
program opt ion. The i n i t i a l i z a t i o n ,
there fore ,
depends
on the
con t ro l program
opt ion and the opt ions se lec ted a t
sys tem
genera t ion .
INITIALIZING
THE
COMMUNICATIONS
VECTOR
TABLE POINTER
The f i r s t funct ion
o f NIP,
a f t e r es tab
l i sh ing addr e ssab i l i t y , i s to i n i t i a l i z e
the
po in ter
to the
communications
vec tor
t ab le
(CVT).
The
CVT i s
brought
i n to
s to rage as
p a r t
of the I /O Superv isor
con
t r o l sec t ion,
and
NIP
obta ins
t he CVT
address by means of an ex te r na l re ference
(V-type
address
constant ) . NIP then
s to r e s
the address of the
CVT
a t
l oca t ion
10
(hex.) , so t h a t t h i s address
may
l a t e r be
used to place e n t r i e s i n
the
CVT or to
r e t r i eve
information from t he CVT.
CVT-Related I n i t i a l i z a t i o n
NIP s to res ,
in
ts own
cons tan t a rea ,
the
s i ze
of s t o rag e and t he poin ter t o t he
end of the nucleus . IPL passes t h i s i n f o r
mation to
NIP
i n r eg i s t e r s 6
and 7, r espec
t ive ly .
I f ,
in
a
system
with MVT,
the
r o l lou t
opt ion has been se lec ted, the
main
s to rage
s i ze
i s
a l so
placed in the
r o l l o u t
parameter l st ( see
I n i t i a l i z in g
the Rol l
ou t
Data
Set ) .
The address of the dev ice
which
was used
for IPL loading i s saved for l a t e r use by
NIP to
determine the
sys tem
res idence
(SYS
RES) device.
Regis ter 6, which
contains
t he value
found
by IPL
for
main s to rage s i z e , i s
decremented by one
and
t he
r e su l t (highest
addressable byte in main
s to rage) s tored in
the CVT a t o f f s e t 164. In systems
with
MFT,
t h i s
address
i s
a l s o
s tored
in
the
superv isor val id i ty-check rou t ine which i s
res iden t in
the
nucleus .
The communications vector
t a b l e conta ins
addresses of cont rol blocks and t ab les
which
a re used
by
con t r o l
program
rout ines .
Many
of
these addresses are
reso lved during
the t ime t h a t IPL r eads in the nucleus , but
NIP
must
ad jus t some of the addresses
because
NIP processing changes the l o ca -
The
Nucleus I n i t i a l i z a t i o n Program
11
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
20/87
t i ons o f
c e r t a i n boundaries
and
con t ro l
blocks. A
d e t a i l e d
l ayout and d es c r i p t i o n
of
the
CVT
can be found
in
System Control
Blocks .
ESTABLISHING
THE
TRACE TABLE ADDRESS
OPTIONAL: MVT
I f system genera t ion inc luded t h e t r a c e
t ab l e
opt ion ,
NIP r e t r i eves
t he th r ee
poin ters cur ren t en t ry po in ter , s t a r t - o f
t ab l e po in t e r , end-of - t ab le
po in ter ) and
rounds them
to
eight -word boundaries .
The
address
o f
t h e list of
poin ters
i s
a t l o ca
t i o n
84 dec) .
NIP only
ad jus t s the bound
a r i e s o f t h e t r a c e t a b l e ; no c l ea r i n g o f
t r a c e t a b l e
s to rage
i s performed.
The t r a c e t a b l e i s pr imar i ly a debugging
too l ;
en t r i es are
made in
t h i s t a b l e for
a l l I /O and
SVC
i n t e r r up t ions . For a
d e t a i l e d
desc r ip t ion o f the
t r a ce t ab l e
and
an explanat ion o f
its
use in debugging, see
Programmer 's Guide
to
Debugging.
BUILDING THE DUMMY
TCB TABLE MFT
WITH
SUBTASKING)
NIP
cons t ruc t s
a dummy TCB t a b l e a t
l oca t ion ATCHLOP2. This t able
holds
a
maximum o f 15 en t r ies ,
and
i s
used
by
NIP
un t i l t h e
sys tem
queue area i n i t i a l i z a t i o n
i s
c o m p l e t ~ d After
t he
system queue area
i s
i n i t i a l i z e d ,
t he t ab l e i s
r ebu i l t
in its
permanent l oca t ion see Building t h e TCB
Address Table (MFT) ).
TESTING FOR EXTENDED PRECISION FLOATING
POINT SIMULATION
The Nucleus I n i t i a l i z a t i o n Program t e s t s
to determine i t he
Extended Prec i s ion
Float ing Po in t Divide fea tu re
i s
p a r t o f
the system hardware. I f the fea ture s
presen t , a
f l ag s
se t in t h e CVTOPTA f i e l d
of the Communicat ions Vector
Table .
The Program Check New PSW address i s
r ep laced wi th
t h e address o f
t he r ou t ine
EPFPRET. NIP
then i s sues an
extended
p re
c i s i o n in s t ruc t ion . I f t he opera t ion i s
success fu l ,
b i t 7
o f
t h e CVTOPTA f i e l d o f
the CVT is s e t and process ing cont inues .
Unsuccessful execution
of
the extended p re
c i s i o n i n s t r u c t i o n causes a
program
check,
and
con t ro l
goes
to
EPFPRET
to
determine
the type o f
program check
by
examining
t h e
Program Check Old PSW. An opera t ions
i n t e r r up t ion ind ica t e s
t h a t
t he r e
are no
f loa t ing
poin t
r e g i s t e r s
in
t he hardware,
and
the extended prec is ion fea ture i s
not
included.
The f l ag a t b i t 7 of CVTOPTA in t he CVT
i s
se t for l a t e r
use
by the i n i t i a l
12
Extended
Prec i s ion Simula tor Rout ine (IEAE
PSIM). A b i t
se t t ing
of 1 i s used
to ind
i c a t e t he presence of the
Extended
Pr ec i
s ion
Floa t ing
Poin t Divide fea ture ; only
t he div ide s imula to r i s needed. A b i t se t
t i ng o f
0
i nd ica t e s t h a t
a l l extended pre
c i s ion
ins t r uc t ions
a re to be s imula ted .
DETERMINING
SIZE OF IBM
2361 CORE
STORAGE
OPTIONAL: MFT,
MVT
Main
s to rage
may
be
expanded
by inc lud
ing IBM 2361 Core Storage in the system.
Main
Storage
Hierarchy Suppor t f o r IBM 2361
Models 1 and 2 permits se lec t ive access
to
e i ther processor s to rage
(known
as
h i e r a r
chy 0) o r the add i t iona l s to rage added by
including 2361 Core
Storage
the
ad d i t i o n a l
s to rage s
known
as hierarchy
1) .
NIP
determines
i
2361
Core Storage
i s
i n t h e
system by
comparing
t o t a l s to rage s i z e
(determined by
IPL) with
1024K.
I f the
s i z e i s
l a rger
t h an 1024K, NIP
div ides the
l a s t
s to rage
address
by
1024K.
The
remainder in t h e div i s ion
in
r eg i s t e r 0)
i s
placed
in
IEAHOH1
as
the s i ze of
h ie ra r
chy o.
I f t he r e
i s no remainder , processor
s i ze i s assumed to be 1024K.
DETERMINING CONSOLE READINESS MFT, MVT
WITHOUT MCS
Before NIP
can communicate
with
the
opera to r ,
it
must
determine whether t h e
console i s ready. To
do
t h i s , t he console
i n i t i a l i z a t i o n rou t ine IEACONS1)
f inds
t h e
pr imary
console
and
checks i t s
r ead i n es s .
I f
the
pr imary
console is not ready,
NIP
f inds t he a l t e r n a t i v e console , checks it
fo r read iness , and es t ab l i she s it as t he
primary
conso le .
I f
ne i the r
t h e primary
nor the
a l t e r n a t i v e console i s
ready,
NIP
i s sues an LPSW
i ns t r uc t ion , plac ing
t h e
system in a wait s t a t e with an er ro r
code
of 07 (hexadecimal) i n t he
curren t
Program
Sta tus Word (PSW). To r ecover , t he console
must be
made ready
and
t he IPL procedure
r epeated .
NIP
f inds the conso les
by comparing
names in
t he
UCB t a b l e with t h e names pro
vided fo r the
pr imary
and
a l t e r n a t i v e con
so le s
by
t he
system
genera t ion
program.
Two names a r e given f o r each console: an
inpu t name
and
an outpu t name.
For
a s t an
dard, noncomposite
console ,
the opera t ion
of the
conso le
search rou t ine
i s
s i mp l i f i ed
s ince
only inpu t names need be compared, as
both inpu t
and
outpu t names r e f e r t o
t he
same console.
For
composi te consoles ,
NIP
f i r s t f inds the inpu t
console
and repea t s
i t s search
t o
f ind
t he
output console.
-
8/20/2019 GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72
21/87
DETERMINING
THE MASTER CONSOLE
IN A SYSTEM
WITH MULTIPLE CONSOLE SUPPORT OPTIONAL:
MFT, MVT)
I f t h e system was genera ted with Mul
t i p l e
Console
Support
MCS),
NIP
obta ins
t he
po in t e r t o t h e master console entry
in
the
Unit
Cont ro l
Module UCM).
The
p o i n t e r
i s conta ined
in
t he MCS Pre f i x
to
t he
UCM.
NIP then t e s t s t he master console f o r ava i
l a b i l i t y . I f t h e
master console
i s
ava i l
ab le ,
t he
UCB fo r t h a t u n i t
i s
f lagged t o
i nd ica t e
t h a t it
i s t he
master
console , and
t h e master console f lag in
the
UCMDISP
f i e l d
of
t he u n i t ' s UCM en t ry i s se t
to
1 .
A complete descr ip t ion
and
diagram
of
t h e
UCM, inc lud ing
t he
MCS Pref ix ,
can be found
i n t he MFT Superv i sor
and
MVT
superv i sor
Proqram
Loqic Manuals.
NIP t h en determines whether t he
hard
copy
log
i s
necessary . The
hard
copy log
i s
requ i red
i t he master console i s a
graphic device.
I f
t he master console i s a
graphic device, or
i a second
console
i s
found ava i lable , the hard copy
requ i red
f lag i s s e t to 1 .
I f
t h e master console
i s found to
be
unavai lab le , NIP
se t s
t h e
·p rev iou