DEFINE CPU

Read syntax diagramSkip visual syntax diagram DEFine CPU cpuaddrcpuaddr1-cpuaddr2cpuaddr1ASCPUcpuaddr2TYPECPIFLZIIPICF

Authorization

Privilege Class: G

Purpose

Use DEFINE CPU to do the following:
  • Add one or more processors to your virtual machine
  • Change the address of a defined virtual processor.
  • Change the type of a defined virtual processor.

Operands

cpuaddr
defines a virtual processor for your virtual machine configuration at the address you specify for cpuaddr. You can specify multiple addresses in a list or in range form. If you specify a list of addresses, separate each address from the others by at least one blank. If you specify a range of addresses, specify the first and last addresses in the range and put a hyphen between them. The processor addresses can be any value from 0 to 3F; the initial address of your base processor is specified in your system directory entry, or it defaults to 0.
cpuaddr cpuaddr
identifies a list of addresses or ranges delimited by blanks.
cpuaddr1-cpuaddr2
specifies a nonwrapping pair of addresses separated by a hyphen (-) and not separated by any blanks.
cpuaddr1 AS CPU cpuaddr2
changes the address of the processor currently defined at cpuaddr1 to the address cpuaddr2.
TYPE
specifies the type of virtual CPU being defined. If no type is specified when defining a new CPU, it defaults to the type of the primary virtual CPU.
If no type is specified when redefining an existing virtual CPU (for example, changing the CPU address), the type of the virtual CPU does not change. Each command to define or redefine virtual CPU(s) must result in a valid virtual CPU configuration. Valid types are:
CP
indicates the central processor.
IFL
indicates the IBM® Integrated Facility for Linux.
ZIIP
indicates the IBM z Integrated Information Processor.
ICF
indicates the Internal Coupling Facility.

Valid virtual configurations are shown in the tables below:

Table 1. ESA/390 or General Logical Partition
Primary Real CPU Type VCONFIG Mode Primary Virtual CPU Type Valid Virtual CPU Types
CP ESA390, GENERAL *** CP CP, zIIP **
CP CF * CP CP
CP LINUX IFL IFL
CP LINUX CP CP
CP VM CP CP, zIIP, IFL, ICF **
Table 2. LINUX Only Logical Partition
Primary Real CPU Type VCONFIG Mode Primary Virtual CPU Type Valid Virtual CPU Types
CP LINUX CP CP
CP LINUX IFL IFL
IFL LINUX IFL IFL
Table 3. z/VM Logical Partition
Primary Real CPU Type VCONFIG Mode Primary Virtual CPU Type Valid Virtual CPU Types
CP ESA390, GENERAL *** CP CP, zIIP **
CP CF * ICF ICF
CP LINUX IFL IFL
CP LINUX CP CP
CP VM CP CP, zIIP, IFL, ICF **
where:  *  indicates OPTION CFVM was specified in the user
           directory entry

       **  indicates that zIIPs are supported as secondary
           virtual CPU types as long as they are supported on the
           underlying machine model

      ***  VCONFIG modes ESA390 and GENERAL are functionally
           equivalent, which means that the same virtual CPU types
           can be defined in an ESA390 mode virtual machine and in
           a GENERAL mode virtual machine 

Usage Notes

  1. Your system directory entry specifies the maximum number of processors you can define for your virtual machine.
  2. If your system directory entry contains multiple CPU statements and/or DEFINE CPU commands (on directory COMMAND statements) that specify a virtual multiprocessing configuration, that configuration is created for you at logon time. If your directory entry does not specify additional processors, your virtual machine logs on as a uniprocessor. Once logged on, you can use DEFINE CPU to modify your virtual configuration.
  3. Any CPUs defined with the CPU statement in your directory entry will default to the same type as your primary real processor.
  4. The following actions will result in a System Clear:
    • Changing the type of an existing CPU.
    • Changing the address of a CPU in a multi-CPU-type virtual configuration.
  5. Each DEFINE CPU command must result in a valid virtual CPU configuration. Because of this, the order of multiple DEFINE CPU commands is important.
  6. To make changes to a virtual configuration, including changing virtual CPU types and the virtual configuration mode, the best approach is to:
    1. Issue the DEFINE CPU command to change all CPU types to CP.
    2. Issue the SET VCONFIG MODE command to change the virtual configuration mode.
    3. Issue the DEFINE CPU command to change the CPU types to the desired types.
  7. The virtual configuration mode of a Coupling Facility virtual machine cannot be changed.
  8. All future CP responses are prefaced with the number of the CPU that issues the responses. This continues as long as you have the virtual multiprocessor configuration.
  9. A user that is assigned to a resource pool cannot change the CPU type of its base CPU because the base CPU defines the user’s primary CPU type, and the primary CPU type must match the CPU type being limited by the resource pool. These CPU types matched when the user was put into the resource pool and must continue to do so. As long as the user’s logical configuration remains valid, a user assigned to a resource pool can define additional CPUs or change the type of the non-base CPUs. The QUERY VIRTUAL CPUS command can be used to determine the user’s base CPU number and type.
  10. For additional information, see Usage Notes.

Responses

Response 1:
xx:  CPU nn DEFINED
confirms that the processor has been defined.
Response 2:
xx:  CPU nn REDEFINED AS TYPE yyyy
confirms that the processor has been redefined to a new type.
xx
identifies the number of the CPU responding to you.
nn
identifies the number of the CPU currently defined or redefined.
yyyy
identifies the type of the redefined CPU.
Response 3:
xx:  STORAGE CLEARED - SYSTEM RESET
indicates that a system-reset-clear has been performed.

Messages

For the list of general messages for the DEFINE command, see Messages.

Messages:

  • HCP5780E Adjunct does not support the DEFINE CPU command
  • HCP6849E DEFINE CPU cannot change the CPU type of the base CPU for a userid in a resource pool