History log of /openbmc/libcper/specification/json/ (Results 1 – 25 of 32)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1c321faa19-May-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Add required property to cper-full-log

libcper maintains a mandatory required property field before attempting
to define them in its schema specification. This keeps us consistent.

Change-Id: I4d47

Add required property to cper-full-log

libcper maintains a mandatory required property field before attempting
to define them in its schema specification. This keeps us consistent.

Change-Id: I4d47d045c3e588a051b063084adc4fbcd9b2e39f
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

8870c07428-Feb-2025 Erwin Tsaur <etsaur@nvidia.com>

PCIe CPER Section Enhancement

This commit improves PCIe error reporting capabilities by:
- Adding support for PCIe capability version detection and parsing
- Expanding Advanced Error Reporting infor

PCIe CPER Section Enhancement

This commit improves PCIe error reporting capabilities by:
- Adding support for PCIe capability version detection and parsing
- Expanding Advanced Error Reporting information extraction

The changes include:
- New capability_registers structure to decode PCIe capability registers
- Updated PCIe JSON Schema to match
- Support for PCIe 2.0+ extended registers when detected
- Improved error source identification and root error status reporting
- Fix typo for Advanced Error Reporting capabilit[i]es_control
- Updated generate/gen-section-pcie.c and pcie.json example

In the future we could:
- Implement TLP header log parsing with detailed descriptions
- Add support for Flit mode in PCIe 2.0+ devices

Tested:
- test/cper-tests passes
- cper-convert to-json|to-cper on pcie.cper|json in example path
- Tested "cper-convert to-json-section" using an extracted OS GHES PCIE
CPER from error injection and compare against expected values

Note, schema validation is intentionally less restrictive than it could
be for pcie advanced error reporting as it evolves.

Change-Id: Ifebb9d97d28a3a487a0aab53bf9e757afeedd64a
Signed-off-by: Erwin Tsaur <etsaur@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...


/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/arm.cperhex
/openbmc/libcper/examples/arm.json
/openbmc/libcper/examples/ccixper.cperhex
/openbmc/libcper/examples/ccixper.json
/openbmc/libcper/examples/cxlcomponent-media.cperhex
/openbmc/libcper/examples/cxlcomponent-media.json
/openbmc/libcper/examples/cxlprotocol.json
/openbmc/libcper/examples/dmargeneric.cperhex
/openbmc/libcper/examples/dmargeneric.json
/openbmc/libcper/examples/dmariommu.cperhex
/openbmc/libcper/examples/dmariommu.json
/openbmc/libcper/examples/dmarvtd.cperhex
/openbmc/libcper/examples/dmarvtd.json
/openbmc/libcper/examples/firmware.cperhex
/openbmc/libcper/examples/firmware.json
/openbmc/libcper/examples/generic.cperhex
/openbmc/libcper/examples/generic.json
/openbmc/libcper/examples/ia32x64.cperhex
/openbmc/libcper/examples/ia32x64.json
/openbmc/libcper/examples/memory.cperhex
/openbmc/libcper/examples/memory.json
/openbmc/libcper/examples/memory2.cperhex
/openbmc/libcper/examples/memory2.json
/openbmc/libcper/examples/nvidia.cperhex
/openbmc/libcper/examples/nvidia.json
/openbmc/libcper/examples/pcibus.cperhex
/openbmc/libcper/examples/pcibus.json
/openbmc/libcper/examples/pcidev.json
/openbmc/libcper/examples/pcie.cperhex
/openbmc/libcper/examples/pcie.json
/openbmc/libcper/examples/unknown.cperhex
/openbmc/libcper/examples/unknown.json
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section-pcie.c
sections/cper-pcie-aerInfo.json
sections/cper-pcie-capabilityStructure.json
sections/cper-pcie.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
75a6028615-Mar-2025 Ed Tanous <etanous@nvidia.com>

Allow null in some cases

There are several section arrays in the code that might fail to parse.
When that happens, we'd need to represent the failed section as "null"
in the json response, to make s

Allow null in some cases

There are several section arrays in the code that might fail to parse.
When that happens, we'd need to represent the failed section as "null"
in the json response, to make sure that we don't reindex anything, and
that the failing section is represented.

Change-Id: Ie2811b59f5110b5f4aa43918b8f6207c0f6f16ef
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

d6b6263714-Mar-2025 Ed Tanous <etanous@nvidia.com>

Fix some json schema validation bugs

There were a couple of places where we would add null objects when
they were not allowed. Fix them.

Change-Id: I7c4c12ea1fa2913014e79603995267a9e560e288
Signed

Fix some json schema validation bugs

There were a couple of places where we would add null objects when
they were not allowed. Fix them.

Change-Id: I7c4c12ea1fa2913014e79603995267a9e560e288
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

7a531ff414-Mar-2025 Ed Tanous <etanous@nvidia.com>

Add additionalProperties=false

Change-Id: Iaec16b61ae8ec24c2013a310bf6a8d3a10e1f571
Signed-off-by: Ed Tanous <etanous@nvidia.com>

7474a74c14-Mar-2025 Ed Tanous <etanous@nvidia.com>

Simplify json schema lookups

There's no reason to need AnyOf here, which complicates json schema
validation diagnostics (because it prints every possible key and why it
failed). Instead, just give

Simplify json schema lookups

There's no reason to need AnyOf here, which complicates json schema
validation diagnostics (because it prints every possible key and why it
failed). Instead, just give each property a type, and let json schema
enforce that only one property of a given type exists by using
minProperties and maxProperties.

Change-Id: I3ac700e6203c5f20704e339997e1aa17cfa0ae9d
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

da798dc414-Mar-2025 Ed Tanous <etanous@nvidia.com>

Fix required fields

Change-Id: Ic0cc2dbf0a53d8be7144f4c4c9eea1566c986309
Signed-off-by: Ed Tanous <etanous@nvidia.com>


/openbmc/libcper/OWNERS
/openbmc/libcper/base64.c
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/arm.cperhex
/openbmc/libcper/examples/ccixper.cperhex
/openbmc/libcper/examples/cxlcomponent-media.cperhex
/openbmc/libcper/examples/cxlprotocol.cperhex
/openbmc/libcper/examples/dmargeneric.cperhex
/openbmc/libcper/examples/dmariommu.cperhex
/openbmc/libcper/examples/dmarvtd.cperhex
/openbmc/libcper/examples/firmware.cperhex
/openbmc/libcper/examples/generic.cperhex
/openbmc/libcper/examples/ia32x64.cperhex
/openbmc/libcper/examples/memory.cperhex
/openbmc/libcper/examples/memory2.cperhex
/openbmc/libcper/examples/nvidia.cperhex
/openbmc/libcper/examples/pcibus.cperhex
/openbmc/libcper/examples/pcidev.cperhex
/openbmc/libcper/examples/pcie.cperhex
/openbmc/libcper/examples/unknown.cperhex
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-nvidia.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/include/libcper/BaseTypes.h
/openbmc/libcper/include/libcper/cper-parse.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/json-schema.h
/openbmc/libcper/include/libcper/log.h
/openbmc/libcper/include/libcper/sections/cper-section-ampere.h
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/include/libcper/sections/cper-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/log.c
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/sections/cper-section-ampere.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-nvidia.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
common/cper-json-error-status.json
common/cper-json-nvp.json
sections/cper-ampere.json
sections/cper-ccix-per.json
sections/cper-cxl-protocol.json
sections/cper-ia32x64-processor.json
sections/cper-iommu-dmar.json
sections/cper-memory.json
sections/cper-memory2.json
sections/cper-nvidia.json
sections/cper-pci-bus.json
sections/cper-pci-component.json
/openbmc/libcper/tests/fuzz_cper_buf_to_ir.cpp
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
517282ff03-Mar-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix required properties in schemas

With invalid properties not showing up in the output, they are not
required in the schema anymore.

Note: UTs test with all properties enabled in the cper-generato

Fix required properties in schemas

With invalid properties not showing up in the output, they are not
required in the schema anymore.

Note: UTs test with all properties enabled in the cper-generator.

Tested by running example cpers against schemas

Change-Id: I54dcda2ae00587e4a7d59e0365eb41ac1669ba46
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

ae8f6d9a29-Jan-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Remove validation bits

Discard invalid properties from json decode. JSON output should only
contain valid properties. This saves time in preventing post
processing of output for valid fields.

Ensur

Remove validation bits

Discard invalid properties from json decode. JSON output should only
contain valid properties. This saves time in preventing post
processing of output for valid fields.

Ensure round trip validity with validation bits removed and required
properties populated.

Fix bugs in json decode.

Overhaul unit tests to use valijson. Add tests with static examples
to validate against schema. Use and nlohmann for better schema
validation over intrinsic libcper validation.

Example json output before:
{
"ValidationBits": {
"LevelValid": false,
"CorrectedValid": true
},
"Level": 1,
"Corrected": true
}

After:
{
"Corrected": true
}

Change-Id: I188bdc2827a57d938c22a431238fadfcdc939ab8
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...


/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/sections/gen-section-ampere.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-nvidia.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/cper-generate.h
/openbmc/libcper/include/libcper/generator/sections/gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/meson.build
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
cper-json-header.json
cper-json-section-descriptor.json
sections/cper-arm-processor.json
sections/cper-ccix-per.json
sections/cper-cxl-component.json
sections/cper-cxl-protocol.json
sections/cper-generic-processor.json
sections/cper-ia32x64-processor.json
sections/cper-memory.json
sections/cper-memory2.json
sections/cper-pci-bus.json
sections/cper-pci-component.json
sections/cper-pcie.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
466ecd9c22-Feb-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix section and notification type format

Schema contains invalid header and section descriptor format for
notificationType and sectionType respectively. Fix as per spec

Change-Id: I944ffe2f4262eefd

Fix section and notification type format

Schema contains invalid header and section descriptor format for
notificationType and sectionType respectively. Fix as per spec

Change-Id: I944ffe2f4262eefdf0c615cb3d7d8d664005d1a5
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...


/openbmc/libcper/.clang-tidy
/openbmc/libcper/examples/arm.cper
/openbmc/libcper/examples/arm.json
/openbmc/libcper/examples/ccixper.cper
/openbmc/libcper/examples/ccixper.json
/openbmc/libcper/examples/cxlcomponent-media.cper
/openbmc/libcper/examples/cxlcomponent-media.json
/openbmc/libcper/examples/cxlprotocol.cper
/openbmc/libcper/examples/cxlprotocol.json
/openbmc/libcper/examples/dmargeneric.cper
/openbmc/libcper/examples/dmargeneric.json
/openbmc/libcper/examples/dmariommu.cper
/openbmc/libcper/examples/dmariommu.json
/openbmc/libcper/examples/dmarvtd.cper
/openbmc/libcper/examples/dmarvtd.json
/openbmc/libcper/examples/firmware.cper
/openbmc/libcper/examples/firmware.json
/openbmc/libcper/examples/generic.cper
/openbmc/libcper/examples/generic.json
/openbmc/libcper/examples/ia32x64.cper
/openbmc/libcper/examples/ia32x64.json
/openbmc/libcper/examples/memory.cper
/openbmc/libcper/examples/memory.json
/openbmc/libcper/examples/memory2.cper
/openbmc/libcper/examples/memory2.json
/openbmc/libcper/examples/nvidia.cper
/openbmc/libcper/examples/nvidia.json
/openbmc/libcper/examples/pcibus.cper
/openbmc/libcper/examples/pcibus.json
/openbmc/libcper/examples/pcidev.cper
/openbmc/libcper/examples/pcidev.json
/openbmc/libcper/examples/pcie.cper
/openbmc/libcper/examples/pcie.json
/openbmc/libcper/examples/unknown.cper
/openbmc/libcper/examples/unknown.json
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/include/libcper/BaseTypes.h
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/cper-parse.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/meson.build
/openbmc/libcper/include/libcper/sections/cper-section-ampere.h
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
cper-json-header.json
cper-json-section-descriptor.json
/openbmc/libcper/tests/test-utils.hpp
cc36701105-Dec-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Include hex decode for human readable fields

Hexadecimal decode for some fields like deviceAddress
make sense to be represented in hex over decimal to make
scripting and human-usability easier.

Cha

Include hex decode for human readable fields

Hexadecimal decode for some fields like deviceAddress
make sense to be represented in hex over decimal to make
scripting and human-usability easier.

Change-Id: I7d0d100162bc681c3c6885ca01ed23020c3b5063
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

d9835a1705-Dec-2024 Andrew Adriance <aadriance@nvidia.com>

CPER JSON Schema Descriptions

Descriptions populated based on UEFI Appendix N in JSON Schemas

Change-Id: I765ec81913567ba7f32c39fdbd901483d9d78e21
Signed-off-by: Andrew Adriance <aadriance@nvidia.c

CPER JSON Schema Descriptions

Descriptions populated based on UEFI Appendix N in JSON Schemas

Change-Id: I765ec81913567ba7f32c39fdbd901483d9d78e21
Signed-off-by: Andrew Adriance <aadriance@nvidia.com>

show more ...

3cebfc2820-Nov-2024 Andrew Adriance <aadriance@nvidia.com>

Add AER registers to PCIe decoding

Break out AER registers so aerinfo doesn't require manual interpretation

Change-Id: I5e626155270636420a1f6e7c473a2b15bfa7ecf0
Signed-off-by: Andrew Adriance <aadr

Add AER registers to PCIe decoding

Break out AER registers so aerinfo doesn't require manual interpretation

Change-Id: I5e626155270636420a1f6e7c473a2b15bfa7ecf0
Signed-off-by: Andrew Adriance <aadriance@nvidia.com>

show more ...

17bc66a025-Nov-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Add affinity3 field to json output

Affinity3 in arm processor errors is used to determine the
socket number generating the error. This is critical
information that needs to be presented to the end-u

Add affinity3 field to json output

Affinity3 in arm processor errors is used to determine the
socket number generating the error. This is critical
information that needs to be presented to the end-user

Change-Id: I66c7d29407bb610625087b0f46e18ff868f7da64
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...


/openbmc/libcper/Cper.c
/openbmc/libcper/base64.c
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/docs/GeneratorExtensions.md
/openbmc/libcper/docs/OEMExtensions.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/sections/gen-section-ampere.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-nvidia.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/generator/sections/gen-section.c
/openbmc/libcper/include/libcper/BaseTypes.h
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/base64.h
/openbmc/libcper/include/libcper/common-utils.h
/openbmc/libcper/include/libcper/cper-parse-str.h
/openbmc/libcper/include/libcper/cper-parse.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/cper-generate.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/generator/sections/gen-section.h
/openbmc/libcper/include/libcper/json-schema.h
/openbmc/libcper/include/libcper/meson.build
/openbmc/libcper/include/libcper/sections/cper-section-ampere.h
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/include/libcper/sections/cper-section.h
/openbmc/libcper/include/meson.build
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/meson.build
/openbmc/libcper/sections/cper-section-ampere.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-nvidia.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/specification/document/cper-json-specification.tex
sections/cper-arm-processor.json
/openbmc/libcper/tests/base64_test.cpp
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
382ad4c719-Sep-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix schemas and add $id properties for oneof[] fields

oneof[] properties are an array of referenced json schemas. In cases
where we need to look through generated logs based on these schemas, it
is

Fix schemas and add $id properties for oneof[] fields

oneof[] properties are an array of referenced json schemas. In cases
where we need to look through generated logs based on these schemas, it
is much easier to use a hook based on the $id property that uniquely
identifies a nested child property. The $id property allows us to
uniquely identify each data type based on the cper specification.

Fix schemas: Sections and ErrorInformation need a "properties" field
under each oneOf[]. Also add a "type" for cacheError and tlbError to
conform with json schema.

Tested with libcper json validator.

Change-Id: I2b242e93e1667a7d7b7a3a77eba1d37347920d1a
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

5b79300926-Sep-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix ArmProcessor ErrorInformation types

ErrorInformation currently has 2 supported formats according to the
libcper schema, cacheError and tlbError. Remove "unknown" microarch
types as we need corre

Fix ArmProcessor ErrorInformation types

ErrorInformation currently has 2 supported formats according to the
libcper schema, cacheError and tlbError. Remove "unknown" microarch
types as we need correctly formatted output only.
Add a property name to identify which ErrorInformation type has been
detected in the cper record

Tested:
Used cper-convert to-json to convert a known good cper to json
Used cper-convert to-cper to convert same json to cper
json was generated again and validated against schema

Change-Id: I510f2ae7fef195721b618065c6ef643ab1191b76
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

b07061ab22-Sep-2024 Ed Tanous <etanous@nvidia.com>

Make key types based on id

This commit separates out the libcper json output by section name.
Previously, each section was

i.e., for e.g., add "Nvidia" for the NVIDIA section
```
"sections": [

Make key types based on id

This commit separates out the libcper json output by section name.
Previously, each section was

i.e., for e.g., add "Nvidia" for the NVIDIA section
```
"sections": [
{
"Nvidia":{
"socket": 0
}
}
]
```
instead of
```
"sections": [
{
"socket": 0
}
]
```

This allows disambiguating between multiple fields with different types
and removes collisions between the field names.

Change-Id: I4e257f1e04fc5fbf2798955d3a5d93214c81f0fc
Signed-off-by: Karthik Rajagopalan <krajagopalan@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

04f5771629-Aug-2024 Dung Cao <dung@os.amperecomputing.com>

Add support for AMPERE CPERs

Support Ampere CPER entries

Change-Id: I607a89209138fa53914c55c07aba8b7d6f382e5e
Signed-off-by: Dung Cao <dung@os.amperecomputing.com>

2d17acec27-Aug-2024 Ed Tanous <etanous@nvidia.com>

Improve Nvidia CPER decode

Add decoding of registers to the structure. Note, this requires
COUNTED_BY support which is borrowed from LIBPLDM.

Also add unit-tests for NVIDIA section, and update sch

Improve Nvidia CPER decode

Add decoding of registers to the structure. Note, this requires
COUNTED_BY support which is borrowed from LIBPLDM.

Also add unit-tests for NVIDIA section, and update schema to match
existing register decoding.

Change-Id: If1c9cae97de35ba6a5dad1f462d3989ec6ac6a90
Signed-off-by: Karthik Rajagopalan <krajagopalan@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

21c2154917-Sep-2024 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix cper-nvidia Json Schema

Fix a field name mismatch on registerNum

Change the type of instanceBase to integer.
uint64 is not a correct json schema type.

Change-Id: Ia9f04798bbb1323a0fee4daea8763

Fix cper-nvidia Json Schema

Fix a field name mismatch on registerNum

Change the type of instanceBase to integer.
uint64 is not a correct json schema type.

Change-Id: Ia9f04798bbb1323a0fee4daea87630dd0d7e5bc3
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

683e055007-Mar-2024 Karthik Rajagopalan <krajagopalan@nvidia.com>

Add support for NVIDIA CPERs

Support Nvidia CPER entries.

Change-Id: Iea9bde181ead55ad99cdb2a341501bf48e1d82a8
Signed-off-by: Ed Tanous <etanous@nvidia.com>


/openbmc/libcper/.clang-tidy
/openbmc/libcper/.gitignore
/openbmc/libcper/OWNERS
/openbmc/libcper/base64.c
/openbmc/libcper/base64.h
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/common-utils.h
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.h
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/cper-utils.h
/openbmc/libcper/edk/BaseTypes.h
/openbmc/libcper/edk/Cper.c
/openbmc/libcper/edk/Cper.h
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/cper-generate.h
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/gen-utils.h
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-nvidia.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/generator/sections/gen-section.c
/openbmc/libcper/generator/sections/gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/json-schema.h
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-firmware.h
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-generic.h
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-ipf.h
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-memory.h
/openbmc/libcper/sections/cper-section-nvidia.c
/openbmc/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/sections/cper-section.h
cper-json-full-log.json
cper-json-section-log.json
sections/cper-nvidia.json
/openbmc/libcper/tests/base64_test.cpp
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
044afd0103-May-2024 John Chung <john.chung@arm.com>

Formatting coding style

* .json files
* .md files

Signed-off-by: John Chung <john.chung@arm.com>
Change-Id: I5fec2bbc1e76ae68a29eb5610f567979cc794bc8


/openbmc/libcper/.clang-format
/openbmc/libcper/LICENSE
/openbmc/libcper/README.md
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.h
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/docs/GeneratorExtensions.md
/openbmc/libcper/docs/OEMExtensions.md
/openbmc/libcper/generator/README.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/generator/sections/gen-section.c
/openbmc/libcper/generator/sections/gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/json-schema.h
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-firmware.h
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-generic.h
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-ipf.h
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-memory.h
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/sections/cper-section.h
/openbmc/libcper/specification/document/cper-json-specification.tex
common/cper-json-error-status.json
common/cper-json-nvp.json
cper-json-full-log.json
cper-json-header.json
cper-json-section-descriptor.json
cper-json-section-log.json
cper-json.json
sections/cper-arm-processor.json
sections/cper-ccix-per.json
sections/cper-cxl-component.json
sections/cper-cxl-protocol.json
sections/cper-firmware.json
sections/cper-generic-dmar.json
sections/cper-generic-processor.json
sections/cper-ia32x64-processor.json
sections/cper-iommu-dmar.json
sections/cper-memory.json
sections/cper-memory2.json
sections/cper-pci-bus.json
sections/cper-pci-component.json
sections/cper-pcie.json
sections/cper-unknown.json
sections/cper-vtd-dmar.json
/openbmc/libcper/subprojects/googletest.wrap
/openbmc/libcper/subprojects/json-c.wrap
/openbmc/libcper/subprojects/libb64.wrap
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
617949e408-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Add CPER conversion for single section records.

3592da7121-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add human readable name to IA32x64 error info GUIDs.


/openbmc/libcper/.clang-format
/openbmc/libcper/CMakeLists.txt
/openbmc/libcper/README.md
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/generator/README.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/specification/document/cper-json-specification.tex
sections/cper-ia32x64-processor.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
3ab351fe20-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix errors in CPER write, remove PCIe AER support.

12