> > The string provided by z/VM is terminated by a byte of binary zero, at > least according to the CP Command and Utility Reference. If it is, it > should be easy to find the end of the values supplied on IPL.I would > recommend ensuring the high-order byte of GR0 is zero when the SAVESYS > command is issued to create the NSS. > I reckon this explains it:
HCPCLT ASSEMBLE P1 FP 80 Trunc=71 Size=1908 Line=698 Col=32 Alt 00698 ************************************************************** 00699 * * 00700 * DETERMINE WHETHER OPTION SPECIFIED IS "PARM". * 00701 * IF NOT "PARM", THE OPTION IS INVALID; ISSUE MESSAGE.* 00702 * * 00703 * FOR IPL OF DEVICES, ANY "PARM" DATA STRING UP TO 64 * 00704 * CHARACTERS IS PLACED IN THE GUEST'S GENERAL PURPOSE * 00705 * REGISTERS STARTING WITH REGISTER 0. THE STRING IS * 00706 * FOLLOWED BY A BYTE OF BINARY ZEROES X'00' (IF < 64).* 00707 * (SEE PROCESSING AT CLTIP04.) * 00708 * * 00709 * FOR IPL OF NAMED SAVED SYSTEMS (NSS), ANY DATA * 00710 * STRING IS PROCESSED ACCORDING TO THE PARMREGS * 00711 * SPECIFICATION ON THE DEFSYS COMMAND. (SEE PROCESS- * 00712 * ING AT CLTNSAVE.) IF PARMREGS WAS NOT SPECIFIED * 00713 * ON THE DEFSYS COMMAND, PROCESSING IS THE SAME AS * 00714 * FOR DEVICES, EXCEPT FOR THE BYTE OF BINARY ZEROES. * 00715 * * 00716 * ERROR MESSAGE 177 IS ISSUED FOR DATA STRINGS LONGER * 00717 * THAN 64 CHARACTERS. * 00718 * * 00719 ************************************************************** With a bit more explanation further down: HCPCLT ASSEMBLE P1 FP 80 Trunc=71 Size=1908 Line=816 Col=32 Alt 00816 ************************************************************** 00817 * * 00818 * PROCESS VALIDATED NAMED SAVED SYSTEM (NSS): * 00819 * * 00820 * 1) IF PARMREGS WAS NOT SPECIFIED ON DEFSYS COMMAND, * 00821 * HANDLE ANY PARM DATA THE SAME AS FOR IPL OF * 00822 * A DEVICE (CLTIP04), EXCEPT NO TRAILING X'00'. * 00823 * * 00824 * 2) IF PARMREGS = NONE WAS SPECIFIED, CHECK FOR PARM * 00825 * BEING SPECIFIED ON IPL COMMAND. IF NONE, CONTINUE * 00826 * PROCESSING FOLLOWING PARM PROCESSING (AT CLTIP05). * 00827 * OTHERWISE, ISSUE MESSAGE 1601. * 00828 * * 00829 * 3) IF PARMREGS WAS SPECIFIED WITH A RANGE OF * 00830 * REGISTERS, SET ALL OF THE REGISTERS IN THE RANGE * 00831 * TO ZERO. IF NO PARM DATA STRING IS SPECIFIED, * 00832 * PROCESSING IS COMPLETE (CONTINUE AT CLTIP05). * 00833 * OTHERWISE, MOVE THE PARM DATA DATA STRING INTO * 00834 * THE SPECIFIED REGISTER RANGE IF THE STRING WILL * 00835 * FIT. IF THE STRING EXCEEDS THE CAPACITY OF THE * 00836 * REGISTER RANGE, ISSUE MESSAGE 177. * 00837 * * 00838 ************************************************************** Leland