
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