blob: 5f31c48d4a78057c023513eebccf68bccad12c7c [file] [log] [blame]
Nirmal Patel12a8ca82020-05-12 07:33:53 -07001description: >
2 Implement to provide Persistent memory attributes.
3properties:
4 - name: ModuleManufacturerID
5 type: uint16
6 description: >
7 The manufacturer ID of this memory module as defined by JEDEC in
8 JEP-106.
9 - name: ModuleProductID
10 type: uint16
11 description: >
12 The product ID of this memory module as defined by JEDEC in JEP-106.
13 - name: SubsystemVendorID
14 type: uint16
15 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060016 The manufacturer ID of the memory subsystem controller of this memory
17 module as defined by JEDEC in JEP-106.
Nirmal Patel12a8ca82020-05-12 07:33:53 -070018 - name: SubsystemDeviceID
19 type: uint16
20 description: >
21 The product ID of the memory subsystem controller of this memory
22 moduleas defined by JEDEC in JEP-106.
23 - name: VolatileRegionSizeLimitInKiB
24 type: uint64
25 description: >
26 Total size of volatile regions in kibibytes (KiB).
27 - name: PmRegionSizeLimitInKiB
28 type: uint64
29 description: >
30 Total size of persistent regions in kibibytes (KiB).
31 - name: VolatileSizeInKiB
32 type: uint64
33 description: >
34 Total size of the volatile portion memory in kibibytes (KiB).
35 - name: PmSizeInKiB
36 type: uint64
37 description: >
38 Total size of the non-volatile portion memory in kibibytes (KiB).
39 - name: CacheSizeInKiB
40 type: uint64
41 description: >
42 Total size of the cache portion memory in kibibytes (KiB).
43 - name: VolatileRegionMaxSizeInKiB
44 type: uint64
45 description: >
46 Maximum size of a single volatile region in kibibytes (KiB).
47 - name: PmRegionMaxSizeInKiB
48 type: uint64
49 description: >
50 Maximum size of a single persistent region in kibibytes (KiB).
51 - name: AllocationIncrementInKiB
52 type: uint64
53 description: >
54 The size of the smallest unit of allocation for a memory region in
55 kibibytes (KiB).
56 - name: AllocationAlignmentInKiB
57 type: uint64
58 description: >
59 The boundary that memory regions are allocated on, measured in
60 kibibytes (KiB).
61 - name: VolatileRegionNumberLimit
62 type: uint32
63 description: >
64 Total number of volatile regions this memory can support.
65 - name: PmRegionNumberLimit
66 type: uint32
67 description: >
68 Total number of persistent regions this memory can support.
69 - name: SpareDeviceCount
70 type: uint32
71 description: >
72 Number of unused spare devices available in the memory.
73 - name: IsSpareDeviceInUse
74 type: boolean
75 description: >
76 An indication of whether a spare device is enabled for this memory.
77 - name: IsRankSpareEnabled
78 type: boolean
79 description: >
80 An indication of whether rank spare is enabled for this memory.
81 - name: MaxAveragePowerLimitmW
82 type: array[uint32]
83 description: >
84 Set of maximum power budgets supported by the memory in milliwatts.
85 - name: CurrentSecurityState
86 type: string
87 description: The current security state of this memory.
88 - name: ConfigurationLocked
89 type: boolean
90 description: The current configuration lock state of this memory.
91 - name: AllowedMemoryModes
92 type: array[enum[self.MemoryModes]]
93 description: >
94 Memory modes supported by the memory.
95
96enumerations:
97 - name: MemoryModes
98 description: >
99 Memory modes supported by the memory module.
100 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500101 - name: Volatile
102 description: >
103 Memory module supports volatile or non-persistent memory mode.
104 - name: Persistent
105 description: >
106 Memory module supports apt direct mode.
107 - name: Block
108 description: >
109 Memory module supports block mode.