1description: >
2    Implement to provide CPU attributes.
3properties:
4    - name: Socket
5      type: string
6      description: >
7          Processor Socket designation on MotherBoard.
8    - name: Family
9      type: string
10      description: >
11          A free form string indicates processor family type.
12          For example, values can be "Intel Xeon
13          processor", "AS400 Family", etc.
14    - name: Model
15      type: string
16      description: >
17          The effective Model information as provided by the
18          manufacturer of this processor.
19    - name: Id
20      type: uint64
21      description: >
22          This Processor ID field contains processor-specific information
23          that describes the processor's features. Details depend on
24          processor architecture.
25          For x86 and ARM processors, DMTF DSP0134 Section 7.5.3 is used.
26      default: 0
27    - name: MaxSpeedInMhz
28      type: uint32
29      description: >
30          Max Speed in megahertz the CPU can support.
31    - name: Characteristics
32      type: array[enum[self.Capability]]
33      description: >
34          The set of boolean flags for processor's capability, such as
35          64-bit Capable, Multi-Core, Hardware Thread, Execute Protection,
36          Enhanced Virtualization, Power/Performance Control etc.
37    - name: CoreCount
38      type: uint16
39      description: >
40          The number of cores in the processor.
41    - name: ThreadCount
42      type: uint16
43      description: >
44          The maximum number of threads the processor can support.
45    - name: Step
46      type: string
47      description: >
48          The step value for this processor
49    - name: Microcode
50      type: string
51      description: >
52          The microcode information for this processor
53
54enumerations:
55    - name: Capability
56      description: >
57          List of capabilities that a processor can support.
58          Values are based off DMTF DSP0134 specification.
59      values:
60        - name: Capable64bit
61          description: >
62              Capable of 64-bit.
63        - name: MultiCore
64          description: >
65              Support multi-core.
66        - name: HardwareThread
67          description: >
68              Support hardware thread.
69        - name: ExecuteProtection
70          description: >
71              Support execute protection.
72        - name: EnhancedVirtualization
73          description: >
74              Support enhanced virtualization.
75        - name: PowerPerformanceControl
76          description: >
77              Support power/performance control.
78