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
41enumerations:
42    - name: Capability
43      description: >
44          List of capabilities that a processor can support.
45          Values are based off DMTF DSP0134 specification.
46      values:
47        - name: Capable64bit
48          description: >
49              Capable of 64-bit.
50        - name: MultiCore
51          description: >
52              Support multi-core.
53        - name: HardwareThread
54          description: >
55              Support hardware thread.
56        - name: ExecuteProtection
57          description: >
58              Support execute protection.
59        - name: EnhancedVirtualization
60          description: >
61              Support enhanced virtualization.
62        - name: PowerPerformanceControl
63          description: >
64              Support power/performance control.