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