1# -*- Mode: Python -*- 2# vim: filetype=python 3# 4# SPDX-License-Identifier: GPL-2.0-or-later 5# This work is licensed under the terms of the GNU GPL, version 2 or later. 6# See the COPYING file in the top-level directory. 7 8{ 'include': 'machine-common.json' } 9 10## 11# @S390CpuPolarization: 12# 13# An enumeration of CPU polarization that can be assumed by a virtual 14# S390 CPU 15# 16# Since: 8.2 17## 18{ 'enum': 'S390CpuPolarization', 19 'data': [ 'horizontal', 'vertical' ] 20} 21 22## 23# @set-cpu-topology: 24# 25# Modify the topology by moving the CPU inside the topology tree, or 26# by changing a modifier attribute of a CPU. Absent values will not 27# be modified. 28# 29# @core-id: the vCPU ID to be moved 30# 31# @socket-id: destination socket to move the vCPU to 32# 33# @book-id: destination book to move the vCPU to 34# 35# @drawer-id: destination drawer to move the vCPU to 36# 37# @entitlement: entitlement to set 38# 39# @dedicated: whether the provisioning of real to virtual CPU is 40# dedicated 41# 42# Features: 43# 44# @unstable: This command is experimental. 45# 46# Since: 8.2 47## 48{ 'command': 'set-cpu-topology', 49 'data': { 50 'core-id': 'uint16', 51 '*socket-id': 'uint16', 52 '*book-id': 'uint16', 53 '*drawer-id': 'uint16', 54 '*entitlement': 'S390CpuEntitlement', 55 '*dedicated': 'bool' 56 }, 57 'features': [ 'unstable' ] 58} 59 60## 61# @CPU_POLARIZATION_CHANGE: 62# 63# Emitted when the guest asks to change the polarization. 64# 65# The guest can tell the host (via the PTF instruction) whether the 66# CPUs should be provisioned using horizontal or vertical 67# polarization. 68# 69# On horizontal polarization the host is expected to provision all 70# vCPUs equally. 71# 72# On vertical polarization the host can provision each vCPU 73# differently. The guest will get information on the details of the 74# provisioning the next time it uses the STSI(15) instruction. 75# 76# @polarization: polarization specified by the guest 77# 78# Features: 79# 80# @unstable: This event is experimental. 81# 82# Since: 8.2 83# 84# .. qmp-example:: 85# 86# <- { "event": "CPU_POLARIZATION_CHANGE", 87# "data": { "polarization": "horizontal" }, 88# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } 89## 90{ 'event': 'CPU_POLARIZATION_CHANGE', 91 'data': { 'polarization': 'S390CpuPolarization' }, 92 'features': [ 'unstable' ] 93} 94 95## 96# @CpuPolarizationInfo: 97# 98# The result of a CPU polarization query. 99# 100# @polarization: the CPU polarization 101# 102# Since: 8.2 103## 104{ 'struct': 'CpuPolarizationInfo', 105 'data': { 'polarization': 'S390CpuPolarization' } 106} 107 108## 109# @query-s390x-cpu-polarization: 110# 111# Features: 112# 113# @unstable: This command is experimental. 114# 115# Returns: the machine's CPU polarization 116# 117# Since: 8.2 118## 119{ 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo', 120 'features': [ 'unstable' ] 121} 122