machine.json (9b12dfa03a94d7f7a4b54eb67229a31e58193384) machine.json (c412a48d4d91e8f8b89aae02de0f44f1f0b729e5)
1# -*- Mode: Python -*-
2#
3# This work is licensed under the terms of the GNU GPL, version 2 or later.
4# See the COPYING file in the top-level directory.
5
6##
7# = Machines
8##

--- 414 unchanged lines hidden (view full) ---

423# @node: NUMA nodes configuration
424#
425# @dist: NUMA distance configuration (since 2.10)
426#
427# @cpu: property based CPU(s) to node mapping (Since: 2.10)
428#
429# @hmat-lb: memory latency and bandwidth information (Since: 5.0)
430#
1# -*- Mode: Python -*-
2#
3# This work is licensed under the terms of the GNU GPL, version 2 or later.
4# See the COPYING file in the top-level directory.
5
6##
7# = Machines
8##

--- 414 unchanged lines hidden (view full) ---

423# @node: NUMA nodes configuration
424#
425# @dist: NUMA distance configuration (since 2.10)
426#
427# @cpu: property based CPU(s) to node mapping (Since: 2.10)
428#
429# @hmat-lb: memory latency and bandwidth information (Since: 5.0)
430#
431# @hmat-cache: memory side cache information (Since: 5.0)
432#
431# Since: 2.1
432##
433{ 'enum': 'NumaOptionsType',
433# Since: 2.1
434##
435{ 'enum': 'NumaOptionsType',
434 'data': [ 'node', 'dist', 'cpu', 'hmat-lb' ] }
436 'data': [ 'node', 'dist', 'cpu', 'hmat-lb', 'hmat-cache' ] }
435
436##
437# @NumaOptions:
438#
439# A discriminated record of NUMA options. (for OptsVisitor)
440#
441# Since: 2.1
442##
443{ 'union': 'NumaOptions',
444 'base': { 'type': 'NumaOptionsType' },
445 'discriminator': 'type',
446 'data': {
447 'node': 'NumaNodeOptions',
448 'dist': 'NumaDistOptions',
449 'cpu': 'NumaCpuOptions',
437
438##
439# @NumaOptions:
440#
441# A discriminated record of NUMA options. (for OptsVisitor)
442#
443# Since: 2.1
444##
445{ 'union': 'NumaOptions',
446 'base': { 'type': 'NumaOptionsType' },
447 'discriminator': 'type',
448 'data': {
449 'node': 'NumaNodeOptions',
450 'dist': 'NumaDistOptions',
451 'cpu': 'NumaCpuOptions',
450 'hmat-lb': 'NumaHmatLBOptions' }}
452 'hmat-lb': 'NumaHmatLBOptions',
453 'hmat-cache': 'NumaHmatCacheOptions' }}
451
452##
453# @NumaNodeOptions:
454#
455# Create a guest NUMA node. (for OptsVisitor)
456#
457# @nodeid: NUMA node ID (increase by 1 from 0 if omitted)
458#

--- 183 unchanged lines hidden (view full) ---

642 'initiator': 'uint16',
643 'target': 'uint16',
644 'hierarchy': 'HmatLBMemoryHierarchy',
645 'data-type': 'HmatLBDataType',
646 '*latency': 'uint64',
647 '*bandwidth': 'size' }}
648
649##
454
455##
456# @NumaNodeOptions:
457#
458# Create a guest NUMA node. (for OptsVisitor)
459#
460# @nodeid: NUMA node ID (increase by 1 from 0 if omitted)
461#

--- 183 unchanged lines hidden (view full) ---

645 'initiator': 'uint16',
646 'target': 'uint16',
647 'hierarchy': 'HmatLBMemoryHierarchy',
648 'data-type': 'HmatLBDataType',
649 '*latency': 'uint64',
650 '*bandwidth': 'size' }}
651
652##
653# @HmatCacheAssociativity:
654#
655# Cache associativity in the Memory Side Cache Information Structure
656# of HMAT
657#
658# For more information of @HmatCacheAssociativity, see chapter
659# 5.2.27.5: Table 5-147 of ACPI 6.3 spec.
660#
661# @none: None (no memory side cache in this proximity domain,
662# or cache associativity unknown)
663#
664# @direct: Direct Mapped
665#
666# @complex: Complex Cache Indexing (implementation specific)
667#
668# Since: 5.0
669##
670{ 'enum': 'HmatCacheAssociativity',
671 'data': [ 'none', 'direct', 'complex' ] }
672
673##
674# @HmatCacheWritePolicy:
675#
676# Cache write policy in the Memory Side Cache Information Structure
677# of HMAT
678#
679# For more information of @HmatCacheWritePolicy, see chapter
680# 5.2.27.5: Table 5-147: Field "Cache Attributes" of ACPI 6.3 spec.
681#
682# @none: None (no memory side cache in this proximity domain,
683# or cache write policy unknown)
684#
685# @write-back: Write Back (WB)
686#
687# @write-through: Write Through (WT)
688#
689# Since: 5.0
690##
691{ 'enum': 'HmatCacheWritePolicy',
692 'data': [ 'none', 'write-back', 'write-through' ] }
693
694##
695# @NumaHmatCacheOptions:
696#
697# Set the memory side cache information for a given memory domain.
698#
699# For more information of @NumaHmatCacheOptions, see chapter
700# 5.2.27.5: Table 5-147: Field "Cache Attributes" of ACPI 6.3 spec.
701#
702# @node-id: the memory proximity domain to which the memory belongs.
703#
704# @size: the size of memory side cache in bytes.
705#
706# @level: the cache level described in this structure.
707#
708# @associativity: the cache associativity,
709# none/direct-mapped/complex(complex cache indexing).
710#
711# @policy: the write policy, none/write-back/write-through.
712#
713# @line: the cache Line size in bytes.
714#
715# Since: 5.0
716##
717{ 'struct': 'NumaHmatCacheOptions',
718 'data': {
719 'node-id': 'uint32',
720 'size': 'size',
721 'level': 'uint8',
722 'associativity': 'HmatCacheAssociativity',
723 'policy': 'HmatCacheWritePolicy',
724 'line': 'uint16' }}
725
726##
650# @HostMemPolicy:
651#
652# Host memory policy types
653#
654# @default: restore default policy, remove any nondefault policy
655#
656# @preferred: set the preferred host nodes for allocation
657#

--- 195 unchanged lines hidden ---
727# @HostMemPolicy:
728#
729# Host memory policy types
730#
731# @default: restore default policy, remove any nondefault policy
732#
733# @preferred: set the preferred host nodes for allocation
734#

--- 195 unchanged lines hidden ---