Message ID | 20230830231758.2561402-4-sjg@chromium.org |
---|---|
State | New |
Headers | show |
Series | [v5,1/4] Add reserved-memory | expand |
On Wed, Aug 30, 2023 at 6:18 PM Simon Glass <sjg@chromium.org> wrote: > > Some memories provide ECC detection and/or correction. For software which > wants to check memory, it is helpful to see which regions provide this > feature. > > Add this as a property of the /memory nodes, since it presumably follows > the hardware-level memory system. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Changes in v5: > - Redo to make this property specific to ECC > - Provide properties both for detection and correction > > Changes in v3: > - Add new patch to update the /memory nodes > > dtschema/schemas/memory.yaml | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/dtschema/schemas/memory.yaml b/dtschema/schemas/memory.yaml > index 1d74410..944aa9f 100644 > --- a/dtschema/schemas/memory.yaml > +++ b/dtschema/schemas/memory.yaml > @@ -34,7 +34,37 @@ patternProperties: > description: > For the purpose of identification, each NUMA node is associated with > a unique token known as a node id. > + ecc-detection: > + $ref: /schemas/types.yaml#/definitions/string > + enum: > + - none > + - single-bit > + - multi-bit > + description: | > + If present, this inidcates the type of memory errors which can be typo > + detected and reported by the Error-Correction Code (ECC) memory > + subsystem: > > + none - No error detection is possible > + single-bit - Detects and reports single-bit ECC errors > + multi-bit - Detects and reports multiple-bit ECC errors I don't think 'multi' is specific enough. Perhaps this should be an int instead with how many bits. (And '-bits' is a standard unit suffix so a type isn't needed) > + > + If not present, this is equivalent to 'none'. Can be expressed as schema: default: none Though if that's the default why have it as a value? (It's fine though) > + ecc-correction: > + $ref: /schemas/types.yaml#/definitions/string > + enum: > + - none > + - single-bit > + - multi-bit > + description: | > + If present, this inidcates the type of memory errors which can be typo > + corrected by the Error-Correction Code (ECC) memory subsystem: > + > + none - No error correction is possible > + single-bit - Corrects single-bit ECC errors > + multi-bit - Corrects multiple-bit ECC errors > + > + If not present, this is equivalent to 'none'. One issue is with 2 properties nonsensical combinations are allowed. Not really any way to handle that in the schema though. Rob
diff --git a/dtschema/schemas/memory.yaml b/dtschema/schemas/memory.yaml index 1d74410..944aa9f 100644 --- a/dtschema/schemas/memory.yaml +++ b/dtschema/schemas/memory.yaml @@ -34,7 +34,37 @@ patternProperties: description: For the purpose of identification, each NUMA node is associated with a unique token known as a node id. + ecc-detection: + $ref: /schemas/types.yaml#/definitions/string + enum: + - none + - single-bit + - multi-bit + description: | + If present, this inidcates the type of memory errors which can be + detected and reported by the Error-Correction Code (ECC) memory + subsystem: + none - No error detection is possible + single-bit - Detects and reports single-bit ECC errors + multi-bit - Detects and reports multiple-bit ECC errors + + If not present, this is equivalent to 'none'. + ecc-correction: + $ref: /schemas/types.yaml#/definitions/string + enum: + - none + - single-bit + - multi-bit + description: | + If present, this inidcates the type of memory errors which can be + corrected by the Error-Correction Code (ECC) memory subsystem: + + none - No error correction is possible + single-bit - Corrects single-bit ECC errors + multi-bit - Corrects multiple-bit ECC errors + + If not present, this is equivalent to 'none'. required: - device_type
Some memories provide ECC detection and/or correction. For software which wants to check memory, it is helpful to see which regions provide this feature. Add this as a property of the /memory nodes, since it presumably follows the hardware-level memory system. Signed-off-by: Simon Glass <sjg@chromium.org> --- Changes in v5: - Redo to make this property specific to ECC - Provide properties both for detection and correction Changes in v3: - Add new patch to update the /memory nodes dtschema/schemas/memory.yaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)