page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829 DIAGNOSE Code X'SC' does not write the message; it merely
rearranges the startinq pointer and length. For eMS error messages, a
console write is performed following the DIAGNOSE unless Ry is returned
with a value of O. DIAGNOSE Code X'60' -- Determining the Virtual Machine Storage Size Execution of DIAGNOSE Code X'60' allows a virtual machine to determine
its size. On return, the register specified as Rx contains the virtual
machine storage size. DIAGI\JOSE Code X'64' --Finding; Loading!' and
Purging a Named Segment of DIAGNOSE Code X'64' controls the linkage of discontiguous
saved segments. The type of linkage that is performed depends upon the
function subcode in the register specified as Ry. Su bCQg! X'OO' X' 04' X' 08' X'OC' L01DSYS LOADSYS PURGESYS FINDSYS Function
Loads a named segment in shared mode
Loads a named segment in nonshared mode
Releases the named segment from virtual storage
Finds the starting address of the named segment
The register specified as Rx must contain the address of the name of
the segment. The segment name must be 8 bytes long, on a doublevord
boundary, left justified, and padded with blanks. When the LOADSYS diagnose function is executed, CP finds the system name
table entry for the segment and builds the necessary page and swap
tables (two sets one for each processor, when running in attached
processor mode). CP releases all the virtual pages of storage that are
to contain the named segment and then loads the segment in those virtual
pages. When the LOADSYS function is executed, CP expands the virtual
machine size dynamically, if necessary. CP also expands the segment
tables to match any expansion of virtual storage. When LOAD5YS executes successfully, the address of where
segment was loaded is returned in the register specified as
the LOA05Y5 function loads a segment in shared mode,
instruction and branch tracing if either was active.
the named
Rx. When it resets
After a LOA05Y5 function executes, the storage occupied by the named
segment is addressable by the virtual machine, even if that storage is beyond the storage defined for the virtual machine. However, any
storaqe beyond that defined for the virtual machine and below that
defined for the named segment is not addressable. Figure 24 shows the
virtual storage that is addressable before and after the LOAOSY5 function executes.
Part 2. Control Program (CP) 201
April 1, 1981
Before the LOADSYS 320K r I l I I I All storage I Addressable by I virtual Machine I I I V OKL -J CMS Virtual Machine
without a Named Segment Attached
After LOADSYS Function
__ ____ _____ _ I I I Discontiguous Storage Addressable by Virtual Machine ./1111//1/////11111/1/11// • • /Storage Not Addressable/ • • lllby Virtual Machinel///. 111111111//1/1//11/1/11//. __ l I Storage Still Addressable by Virtual Machine I , eMS virtual Machine with
a Named Segment Attached Figure 24. Addressable Storage Before and After a LOADSYS Function When you save a named segment that is later loaded by the LOADSYS function, you must be sure that the addresses at which segments are
saved are correct and that they do not overlay required areas of storage
in the virtual machine. This is crucial because the LOADSYS function
invokes the function before it builds the new page and swap
tables. CP purges all saved systems that are overlayed in any way by
the saved system it is loadinq.
A condition code of 0 in the PSi indicates that the named segment was
loaded successfully; the Rx register contains the load address.
A condition code of 1 in the PSi indicates the named segment was
loaded successfully within the defined storage of the virtual machine.
The Rx reqister contains the address at which the named segment was
loaded. The Ry register contains the ending address of the storage
released before the named segment was loaded. MQte: CMS only allows named segments to be attached beyond the defined
size of the virtual machine.
A condition code of 2 in the PSi indicates the LOADSYS function did
not execute successfully. Examine the return code in the RV register to
determine the cause of the error. ReiY.t!l 44
177 ,t!ganing Named segment does not exist Paginq IIO errors 202 IBM VM/370 System Programmer's Guide
Previous Page Next Page