blob: 298e51f373a3cfa29d7a78cbd84ad5643ab040a3 [file] [log] [blame]
# -*- Mode: Python -*-
# vim: filetype=python
#
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
##
# = Common machine types
##
##
# @S390CpuEntitlement:
#
# An enumeration of CPU entitlements that can be assumed by a virtual
# S390 CPU
#
# Since: 8.2
##
{ 'enum': 'S390CpuEntitlement',
'data': [ 'auto', 'low', 'medium', 'high' ] }
##
# @CpuTopologyLevel:
#
# An enumeration of CPU topology levels.
#
# @thread: thread level, which would also be called SMT level or
# logical processor level. The @threads option in
# SMPConfiguration is used to configure the topology of this
# level.
#
# @core: core level. The @cores option in SMPConfiguration is used
# to configure the topology of this level.
#
# @module: module level. The @modules option in SMPConfiguration is
# used to configure the topology of this level.
#
# @cluster: cluster level. The @clusters option in SMPConfiguration
# is used to configure the topology of this level.
#
# @die: die level. The @dies option in SMPConfiguration is used to
# configure the topology of this level.
#
# @socket: socket level, which would also be called package level.
# The @sockets option in SMPConfiguration is used to configure
# the topology of this level.
#
# @book: book level. The @books option in SMPConfiguration is used
# to configure the topology of this level.
#
# @drawer: drawer level. The @drawers option in SMPConfiguration is
# used to configure the topology of this level.
#
# @default: default level. Some architectures will have default
# topology settings (e.g., cache topology), and this special
# level means following the architecture-specific settings.
#
# Since: 9.2
##
{ 'enum': 'CpuTopologyLevel',
'data': [ 'thread', 'core', 'module', 'cluster', 'die',
'socket', 'book', 'drawer', 'default' ] }
##
# @CacheLevelAndType:
#
# Caches a system may have. The enumeration value here is the
# combination of cache level and cache type.
#
# @l1d: L1 data cache.
#
# @l1i: L1 instruction cache.
#
# @l2: L2 (unified) cache.
#
# @l3: L3 (unified) cache
#
# Since: 9.2
##
{ 'enum': 'CacheLevelAndType',
'data': [ 'l1d', 'l1i', 'l2', 'l3' ] }
##
# @SmpCacheProperties:
#
# Cache information for SMP system.
#
# @cache: Cache name, which is the combination of cache level
# and cache type.
#
# @topology: Cache topology level. It accepts the CPU topology
# enumeration as the parameter, i.e., CPUs in the same
# topology container share the same cache.
#
# Since: 9.2
##
{ 'struct': 'SmpCacheProperties',
'data': {
'cache': 'CacheLevelAndType',
'topology': 'CpuTopologyLevel' } }
##
# @SmpCachePropertiesWrapper:
#
# List wrapper of SmpCacheProperties.
#
# @caches: the list of SmpCacheProperties.
#
# Since 9.2
##
{ 'struct': 'SmpCachePropertiesWrapper',
'data': { 'caches': ['SmpCacheProperties'] } }