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: Id
15      type: uint64
16      description: >
17          This Processor ID field contains processor-specific information
18          that describes the processor's features. Details depend on
19          processor architecture.
20          For x86 and ARM processors, DMTF DSP0134 Section 7.5.3 is used.
21      default: 0
22    - name: MaxSpeedInMhz
23      type: uint32
24      description: >
25          Max Speed in megahertz the CPU can support.
26    - name: Characteristics
27      type: array[enum[self.Capability]]
28      description: >
29          The set of boolean flags for processor's capability, such as
30          64-bit Capable, Multi-Core, Hardware Thread, Execute Protection,
31          Enhanced Virtualization, Power/Performance Control etc.
32    - name: CoreCount
33      type: uint16
34      description: >
35          The number of cores in the processor.
36    - name: ThreadCount
37      type: uint16
38      description: >
39          The maximum number of threads the processor can support.
40    - name: Step
41      type: string
42      description: >
43          The step value for this processor
44    - name: Microcode
45      type: string
46      description: >
47          The microcode information for this processor
48
49enumerations:
50    - name: Capability
51      description: >
52          List of capabilities that a processor can support.
53          Values are based off DMTF DSP0134 specification.
54      values:
55        - name: Capable64bit
56          description: >
57              Capable of 64-bit.
58        - name: MultiCore
59          description: >
60              Support multi-core.
61        - name: HardwareThread
62          description: >
63              Support hardware thread.
64        - name: ExecuteProtection
65          description: >
66              Support execute protection.
67        - name: EnhancedVirtualization
68          description: >
69              Support enhanced virtualization.
70        - name: PowerPerformanceControl
71          description: >
72              Support power/performance control.
73