Table of Contents

DMSINS Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,017
Fixes Applied : 7
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [HRC371DS]

Synopsis

Module

       DMSINS (INITSUB)

Function

       TO CONTROL INITIALIZATION OF THE CMS NUCLEUS.

Attributes

       RESIDENT WITH NUCLEUS AT IPL TIME.

Operation

       AFTER INITIAL PROGRAM LOAD (IPL)  OF THE CMS NUCLEUS,
       CONTROL PASSES TO THE ONE-TIME INITIALIZATION PROGRAM
       INITSUB, WHICH IMMEDIATELY ESTABLISHES ADDRESSABILITY
       AND PROCEEDS AS FOLLOWS:

       1. SAVES THE IPL-ED DEVICE ADDRESS.

       2. CALLS ADTLKP TO LOCATE THE ACTIVE DISK TABLE FOR
          THE SYSTEM DISK.

       3. SETS LOW-EXTEND TO X'40000'.

       4. CALLS DMSFRES FOR FIRST-PASS STORAGE INITIALIZING.

       5. CALLS DMSFREE TO RESERVE ALL NUCLEUS FREE STORAGE

       6. CALLS READFST TO READ IN ALL S-DISK FST'S.

       7. CALLS DMSFRET TO RETURN ALL NUCLEUS STORAGE

       8. CALLS DMSFREE TO GET NUCLEUS FREE STORAGE FOR
          SSTAT.

       9. CREATES THE SSTAT FROM 'S2' FILES ON S-DISK

      10. USES CP-DIAGNOSE TO DETERMINE CHARACTERISTICS
          OF A DYNAMIC DISK (IF PRESENT).

      11. CHECKS IF THE D-DISK HAS A VALID CMS-LABEL AND
          DECIDES IF A FORMAT OR ACCESS IS REQUIRED.

      12. CHECKS TO SEE IF A Z-DISK IS REQUIRED.

      13. TYPES VERSION IDENTIFICATION MESSAGE.

      14. READS THE FIRST COMMAND  AND IF IT WAS
          'SAVESYS, ISSUES A DIAGNOSE TO CP USING THE
          INPUT LINE AS THE PARAMETER LIST. GOTO 10.

      15. IF THE FIRST COMMAND WAS ANYTHING ELSE
             A. ACCESS THE YDISK (IF PRESENT)
             B. Load the GCC runtime library into high      HRC371DS
                memory and update a pointer in NUCON with   HRC371DS
                its address.                                HRC371DS
             C. Load REXX into high memory and establish it HRC371DS
                as a nucleus command.  Now all EXECs can be HRC371DS
                written in REXX.                            HRC371DS
             D. Access the user's A disk.                   HRC371DS
             E. Stack a plist LIFO for "PROFILE EXEC"       HRC371DS
                (if present and if "ACCESS ( NOPROFILE" was HRC371DS
                not entered as the first command)           HRC371DS
             F. Stack a plist LIFO for "SYSPROF EXEC"       HRC371DS
                (if present and if "ACCESS ( NOPROFILE" was HRC371DS
                not entered as the first command)           HRC371DS
             G. Access the D disk or, if not formatted,     HRC371DS
                stack a plist LIFO to format the D disk     HRC371DS
                (if present)                                HRC371DS
                                                            HRC371DS
          Thus the command EXEC SYSPROF will be executed    HRC371DS
          before the PROFILE EXEC is executed.  Eventually, HRC371DS
          we may first stack a "RELEASE A" command so that  HRC371DS
          we can ensure that SYSPROF EXEC S is executed...  HRC371DS
                                                            HRC371DS

      16. SETS VALUE OF BLIP TIMER.

      17. DETERMINES VIRTUAL MACHINE SIZE AND ALLOCATES
          2 PAGES OF LOADER TABLES IF MACHINE SIZE IS
          NOT OVER 320K. 3 PAGES ARE OTHERWISE ALLOCATED
          But if the machine is 4MB or larger, allocate     HRC371DS
          64 pages of loader tables.                        HRC371DS

      18. CALLS DMSFRES FOR FINAL STORAGE INITIALIZING
      19. GOTO INIT.

Calls to Other Routines

       DMSFRES, DMSFREE, DMSFRET, READFST, DMSINT,
       DMSDIOR, DMSCAT