| # -*- Mode: Python -*- |
| # vim: filetype=python |
| # |
| # SPDX-License-Identifier: GPL-2.0-or-later |
| # This work is licensed under the terms of the GNU GPL, version 2 or later. |
| # See the COPYING file in the top-level directory. |
| |
| { 'include': 'machine-common.json' } |
| |
| ## |
| # @S390CpuPolarization: |
| # |
| # An enumeration of CPU polarization that can be assumed by a virtual |
| # S390 CPU |
| # |
| # Since: 8.2 |
| ## |
| { 'enum': 'S390CpuPolarization', |
| 'data': [ 'horizontal', 'vertical' ] |
| } |
| |
| ## |
| # @set-cpu-topology: |
| # |
| # Modify the topology by moving the CPU inside the topology tree, or |
| # by changing a modifier attribute of a CPU. Absent values will not |
| # be modified. |
| # |
| # @core-id: the vCPU ID to be moved |
| # |
| # @socket-id: destination socket to move the vCPU to |
| # |
| # @book-id: destination book to move the vCPU to |
| # |
| # @drawer-id: destination drawer to move the vCPU to |
| # |
| # @entitlement: entitlement to set |
| # |
| # @dedicated: whether the provisioning of real to virtual CPU is |
| # dedicated |
| # |
| # Features: |
| # |
| # @unstable: This command is experimental. |
| # |
| # Since: 8.2 |
| ## |
| { 'command': 'set-cpu-topology', |
| 'data': { |
| 'core-id': 'uint16', |
| '*socket-id': 'uint16', |
| '*book-id': 'uint16', |
| '*drawer-id': 'uint16', |
| '*entitlement': 'S390CpuEntitlement', |
| '*dedicated': 'bool' |
| }, |
| 'features': [ 'unstable' ] |
| } |
| |
| ## |
| # @CPU_POLARIZATION_CHANGE: |
| # |
| # Emitted when the guest asks to change the polarization. |
| # |
| # The guest can tell the host (via the PTF instruction) whether the |
| # CPUs should be provisioned using horizontal or vertical |
| # polarization. |
| # |
| # On horizontal polarization the host is expected to provision all |
| # vCPUs equally. |
| # |
| # On vertical polarization the host can provision each vCPU |
| # differently. The guest will get information on the details of the |
| # provisioning the next time it uses the STSI(15) instruction. |
| # |
| # @polarization: polarization specified by the guest |
| # |
| # Features: |
| # |
| # @unstable: This event is experimental. |
| # |
| # Since: 8.2 |
| # |
| # .. qmp-example:: |
| # |
| # <- { "event": "CPU_POLARIZATION_CHANGE", |
| # "data": { "polarization": "horizontal" }, |
| # "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } |
| ## |
| { 'event': 'CPU_POLARIZATION_CHANGE', |
| 'data': { 'polarization': 'S390CpuPolarization' }, |
| 'features': [ 'unstable' ] |
| } |
| |
| ## |
| # @CpuPolarizationInfo: |
| # |
| # The result of a CPU polarization query. |
| # |
| # @polarization: the CPU polarization |
| # |
| # Since: 8.2 |
| ## |
| { 'struct': 'CpuPolarizationInfo', |
| 'data': { 'polarization': 'S390CpuPolarization' } |
| } |
| |
| ## |
| # @query-s390x-cpu-polarization: |
| # |
| # Features: |
| # |
| # @unstable: This command is experimental. |
| # |
| # Returns: the machine's CPU polarization |
| # |
| # Since: 8.2 |
| ## |
| { 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo', |
| 'features': [ 'unstable' ] |
| } |