GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72

download GY28-6661-5 Inital Program Loader and Nucleus Initialization Program Rel21 PLM Mar72

of 87

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