# -*- 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'] } }