Standard SVC routines

To supply user-written SVC routines to the system, you place descriptions of your user SVC routines in SYS1.PARMLIB, and you place the actual routines in SYS1.NUCLEUS or SYS1.LPALIB. When the system is IPLed, the system translates the SVC definitions that you placed on SYS1.PARMLIB into SVC table entries. See Customizing the nucleus region for more information on placing routines in the nucleus.

When the system is IPLed, the system searches for member names that it uses to build the SVC table. These member names have the form, IEASVCxx, where xx is the field specified by the SVC= option in the IPL system parameters.

In the IEASVCxx members, you code SVCPARM statements. The SVCPARM statements describe the properties and attributes of individual SVC routines. Each SVCPARM statement that you code describes a single SVC routine; it generates one entry in the SVC table. Using the SVCPARM statement, you specify the SVC number, type, entry point name, lock requirements, authorization level, and whether or not the SVC is preemptable. See z/OS MVS Initialization and Tuning Reference for a description of the SVC= and SVCPARM statements.

The user SVC entries, which are represented by the SVC numbers 200-255, are the only ones you are allowed to define. You should not attempt to modify SVCs that are in the range of 0-199. Doing so will cause unpredictable results. When you define an SVC with an SVCPARM statement, you define its type as type 1, 2, 3, 4 or 6. The system provides no SVC routines in the range 200-255. Therefore, unless the user defines some SVC routines in this range, execution of an SVC 200 through 255 will cause an abend.