15de1aff2SPierre Morel# -*- Mode: Python -*- 25de1aff2SPierre Morel# vim: filetype=python 35de1aff2SPierre Morel# 45de1aff2SPierre Morel# This work is licensed under the terms of the GNU GPL, version 2 or later. 55de1aff2SPierre Morel# See the COPYING file in the top-level directory. 65de1aff2SPierre Morel 75de1aff2SPierre Morel## 8e823ebe7SZhao Liu# = Common machine types 95de1aff2SPierre Morel## 105de1aff2SPierre Morel 115de1aff2SPierre Morel## 1232cfefb9SMarkus Armbruster# @S390CpuEntitlement: 135de1aff2SPierre Morel# 145de1aff2SPierre Morel# An enumeration of CPU entitlements that can be assumed by a virtual 155de1aff2SPierre Morel# S390 CPU 165de1aff2SPierre Morel# 175de1aff2SPierre Morel# Since: 8.2 185de1aff2SPierre Morel## 1932cfefb9SMarkus Armbruster{ 'enum': 'S390CpuEntitlement', 205de1aff2SPierre Morel 'data': [ 'auto', 'low', 'medium', 'high' ] } 21e823ebe7SZhao Liu 22e823ebe7SZhao Liu## 23e823ebe7SZhao Liu# @CpuTopologyLevel: 24e823ebe7SZhao Liu# 25e823ebe7SZhao Liu# An enumeration of CPU topology levels. 26e823ebe7SZhao Liu# 27e823ebe7SZhao Liu# @thread: thread level, which would also be called SMT level or 28e823ebe7SZhao Liu# logical processor level. The @threads option in 29e823ebe7SZhao Liu# SMPConfiguration is used to configure the topology of this 30e823ebe7SZhao Liu# level. 31e823ebe7SZhao Liu# 32e823ebe7SZhao Liu# @core: core level. The @cores option in SMPConfiguration is used 33e823ebe7SZhao Liu# to configure the topology of this level. 34e823ebe7SZhao Liu# 35e823ebe7SZhao Liu# @module: module level. The @modules option in SMPConfiguration is 36e823ebe7SZhao Liu# used to configure the topology of this level. 37e823ebe7SZhao Liu# 38e823ebe7SZhao Liu# @cluster: cluster level. The @clusters option in SMPConfiguration 39e823ebe7SZhao Liu# is used to configure the topology of this level. 40e823ebe7SZhao Liu# 41e823ebe7SZhao Liu# @die: die level. The @dies option in SMPConfiguration is used to 42e823ebe7SZhao Liu# configure the topology of this level. 43e823ebe7SZhao Liu# 44e823ebe7SZhao Liu# @socket: socket level, which would also be called package level. 45e823ebe7SZhao Liu# The @sockets option in SMPConfiguration is used to configure 46e823ebe7SZhao Liu# the topology of this level. 47e823ebe7SZhao Liu# 48e823ebe7SZhao Liu# @book: book level. The @books option in SMPConfiguration is used 49e823ebe7SZhao Liu# to configure the topology of this level. 50e823ebe7SZhao Liu# 51e823ebe7SZhao Liu# @drawer: drawer level. The @drawers option in SMPConfiguration is 52e823ebe7SZhao Liu# used to configure the topology of this level. 53e823ebe7SZhao Liu# 54e823ebe7SZhao Liu# @default: default level. Some architectures will have default 55e823ebe7SZhao Liu# topology settings (e.g., cache topology), and this special 56e823ebe7SZhao Liu# level means following the architecture-specific settings. 57e823ebe7SZhao Liu# 58e823ebe7SZhao Liu# Since: 9.2 59e823ebe7SZhao Liu## 60e823ebe7SZhao Liu{ 'enum': 'CpuTopologyLevel', 61e823ebe7SZhao Liu 'data': [ 'thread', 'core', 'module', 'cluster', 'die', 62e823ebe7SZhao Liu 'socket', 'book', 'drawer', 'default' ] } 63*4e88e7e3SZhao Liu 64*4e88e7e3SZhao Liu## 65*4e88e7e3SZhao Liu# @CacheLevelAndType: 66*4e88e7e3SZhao Liu# 67*4e88e7e3SZhao Liu# Caches a system may have. The enumeration value here is the 68*4e88e7e3SZhao Liu# combination of cache level and cache type. 69*4e88e7e3SZhao Liu# 70*4e88e7e3SZhao Liu# @l1d: L1 data cache. 71*4e88e7e3SZhao Liu# 72*4e88e7e3SZhao Liu# @l1i: L1 instruction cache. 73*4e88e7e3SZhao Liu# 74*4e88e7e3SZhao Liu# @l2: L2 (unified) cache. 75*4e88e7e3SZhao Liu# 76*4e88e7e3SZhao Liu# @l3: L3 (unified) cache 77*4e88e7e3SZhao Liu# 78*4e88e7e3SZhao Liu# Since: 9.2 79*4e88e7e3SZhao Liu## 80*4e88e7e3SZhao Liu{ 'enum': 'CacheLevelAndType', 81*4e88e7e3SZhao Liu 'data': [ 'l1d', 'l1i', 'l2', 'l3' ] } 82*4e88e7e3SZhao Liu 83*4e88e7e3SZhao Liu## 84*4e88e7e3SZhao Liu# @SmpCacheProperties: 85*4e88e7e3SZhao Liu# 86*4e88e7e3SZhao Liu# Cache information for SMP system. 87*4e88e7e3SZhao Liu# 88*4e88e7e3SZhao Liu# @cache: Cache name, which is the combination of cache level 89*4e88e7e3SZhao Liu# and cache type. 90*4e88e7e3SZhao Liu# 91*4e88e7e3SZhao Liu# @topology: Cache topology level. It accepts the CPU topology 92*4e88e7e3SZhao Liu# enumeration as the parameter, i.e., CPUs in the same 93*4e88e7e3SZhao Liu# topology container share the same cache. 94*4e88e7e3SZhao Liu# 95*4e88e7e3SZhao Liu# Since: 9.2 96*4e88e7e3SZhao Liu## 97*4e88e7e3SZhao Liu{ 'struct': 'SmpCacheProperties', 98*4e88e7e3SZhao Liu 'data': { 99*4e88e7e3SZhao Liu 'cache': 'CacheLevelAndType', 100*4e88e7e3SZhao Liu 'topology': 'CpuTopologyLevel' } } 101*4e88e7e3SZhao Liu 102*4e88e7e3SZhao Liu## 103*4e88e7e3SZhao Liu# @SmpCachePropertiesWrapper: 104*4e88e7e3SZhao Liu# 105*4e88e7e3SZhao Liu# List wrapper of SmpCacheProperties. 106*4e88e7e3SZhao Liu# 107*4e88e7e3SZhao Liu# @caches: the list of SmpCacheProperties. 108*4e88e7e3SZhao Liu# 109*4e88e7e3SZhao Liu# Since 9.2 110*4e88e7e3SZhao Liu## 111*4e88e7e3SZhao Liu{ 'struct': 'SmpCachePropertiesWrapper', 112*4e88e7e3SZhao Liu 'data': { 'caches': ['SmpCacheProperties'] } } 113