Modifying and Rebuilding CP under VM/SP
=======================================
On occasion, it may be necessary to rebuild the hypervisor Control
Program (CP). I tend to find this is most often required when adding
new hardware, or modifying the existing hardware configuration.
Another common cause of CP rebuilds would be eg. to apply updates and
fixes. Luckily (or maybe not), IBM stopped supporting VM/SP release 5
in June 1992 (it was released in April 1987) so that is no longer a
concern.
NB. This is a quick-and-dirty procedure/aide-memoir. It does not cover
a whole bunch of potentially-relevant stuff regarding the control
files, testing the rebuilt CP before writing it to the system
residence, and so on. But anyone running VM/SP in production in this
day and age probably has bigger problems...
Preparation
-----------
First thing to do is make sure you've got everything needed to
complete the rebuild:
- MAINT password
- Location of CP build resources
- Type of system (uniprocessor, multiprocessor etc.)
Can't help you with the first one, but regarding the second, the
default locations for mdisks required for CP service are:
- 191 work disk
- 194 CP text retention
- 294 CP PTFs and updates
- 295 Local mods
- 394 CP source and macros
The type of system you have tells you which control file you need to
specify during assembly. The IBM-supplied standards are:
DMKSP CNTRL - uniprocessor system
DMKSPA CNTRL - attached processor support
DMKSPM CNTRL - multiprocessor system
Logon as MAINT, and access the mdisks as follows:
ACC 295 A
ACC 294 B/A
ACC 194 C/A
ACC 394 D/A
ACC 191 E
(191 can be anything after D. It needs to be the last disk searched
for files during the rebuild.)
Modifications
-------------
Make any modifications required to the assembler source. The main
files you'll be concerned with are probably
DMKRIO ASSEMBLE - The real I/O configuration
DMKSYS ASSEMBLE - The system parameters
DMKSNT ASSEMBLE - The saved names table
DMKBOX ASSEMBLE - The logon screen definition
Make a copy beforehand of any file you intend to modify!
Edit your files, rename any current TEXT and TXTLCL corresponding to
your updated files (so you can copy them back if there are problems).
Build New CP
------------
Assemble each of your updated files in turn:
VMFASM file control
where 'file' is the name of the modified ASSEMBLE source file
(eg. DMKRIO) and where 'control' is the name of the control file that
is required for your system (eg. DMKSP)
Assuming all goes well, punch your new nucleus ready for installation:
CLOSE PUNCH
PURGE PUNCH ALL
CLOSE READER
PURGE READER ALL
SPOOL PUNCH *
VMFLOAD CPLOAD ctrl
(where ctrl is the same control file used for assembly above)
This should create the new nucleus in MAINTs reader. IPL it to write
the new image to the VMSRES (VIRTUAL DASD 123).
IPL 00C
Shutdown VM and re-IPL. 'q cplevel' should show you the generation
date for CP.
The Installation Guide details alternative steps for writing the new
nucleus to a different volume for testing, but I kind of feel that if
it assembles properly, then it's probably going to IPL OK too, given
that we're not really touching anything too sensitive.
For those maybe less reckless, or who want to try it...
(after the VMFLOAD step above), detach the system residence volume and
attach your test system residence in its place:
DETACH 123
DEFINE XXX AS 123
where XXX is the test system residence volume or minidisk.
Then, do the IPL 00C to write it to your test sysres. Next you can try
IPL 123 to IPL the new CP under VM. You should now see the usual VM
IPL messages, terminating at the usual "WARM,COLD" etc. prompt.
At this point, you'll need to select 'SHUTDOWN', unless your test
system residence really does have a copy of your real system on it.