History log of /openbmc/libcper/ (Results 1 – 25 of 229)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
043d5f4b17-Oct-2025 Erwin Tsaur <etsaur@nvidia.com>

ARM CPER: Decode ErrorType as bit values

ErrorInformation.ErrorType needs to be decoded as bit values
instead of as an integer.

Change-Id: Iee09eb6e62561620d0903fea1ae4d6ed35898445
Signed-off-by: E

ARM CPER: Decode ErrorType as bit values

ErrorInformation.ErrorType needs to be decoded as bit values
instead of as an integer.

Change-Id: Iee09eb6e62561620d0903fea1ae4d6ed35898445
Signed-off-by: Erwin Tsaur <etsaur@nvidia.com>

show more ...

5a8a94f407-Nov-2025 Ed Tanous <etanous@nvidia.com>

Fix Usage Section in README

Samples are now located under 'examples' directory.

Change-Id: I39536eed30822ef680ce785249934dea98967ac2
Signed-off-by: Daniel Osawa <dosawa@nvidia.com>
Signed-off-by: E

Fix Usage Section in README

Samples are now located under 'examples' directory.

Change-Id: I39536eed30822ef680ce785249934dea98967ac2
Signed-off-by: Daniel Osawa <dosawa@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

f1c8912414-Nov-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Handle Unknown ARM error type's description string

If an arm processor error type is not populated, ensure its description
string reflects this. Also handle case where errorInfo type is invalid.

Be

Handle Unknown ARM error type's description string

If an arm processor error type is not populated, ensure its description
string reflects this. Also handle case where errorInfo type is invalid.

Before:
"message":"An ARM Processor Error occurred on CPU 0; Error Type(s): { at
Virtual Addr=0xE

After:
"message":"An ARM Processor Error occurred on CPU 0; Error Type(s):
{Unknown Error at Virtual Addr=0xE

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

show more ...

991ebf2214-Nov-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Initialize string mem buffers to 0

This will prevent garbage from populating the description string if not
handled or copied correctly.

Change-Id: Icfb57cdaa283c40fbf8fffdde7621e2a1ac19ba4
Signed-o

Initialize string mem buffers to 0

This will prevent garbage from populating the description string if not
handled or copied correctly.

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

show more ...

a5cc9a9203-Sep-2025 Patrick Williams <patrick@stwcx.xyz>

clang-format: update latest spec and reformat with clang-21

Copy the latest format file from the docs repository and apply using
clang-format-21.

See I795e88ada8e676c242b5a18888ce9c08afdedc93 for c

clang-format: update latest spec and reformat with clang-21

Copy the latest format file from the docs repository and apply using
clang-format-21.

See I795e88ada8e676c242b5a18888ce9c08afdedc93 for clang-21 enablement.

Change-Id: I46846988a94b2362ab1cccf3817976c422d0d646
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

da75128c28-Jul-2025 Peter Benitez <pbenitez@nvidia.com>

cper-section-memory: Fix validation dependency for Extended field bits

Fixed incorrect dependency between validation bits 16, 17, and 18 for
the Extended field. Previously, cardSmbiosHandle (validat

cper-section-memory: Fix validation dependency for Extended field bits

Fixed incorrect dependency between validation bits 16, 17, and 18 for
the Extended field. Previously, cardSmbiosHandle (validation bit 16)
and moduleSmbiosHandle (validation bit 17) were incorrectly made
dependent on the Extended field validation (bit 18), but these are
independent components.

Validation bit 18 controls the Extended field containing row address
bits 16 and 17, while validation bits 16 and 17 control SMBIOS handle
fields. These SMBIOS handle fields are independent components that
should be validated separately from the Extended field's row address
bits.

Tested: Added memory-validation-bits unit test

Change-Id: I9461c71bf0b782bda74ed24c95b63c080f913b19
Signed-off-by: Peter Benitez <pbenitez@nvidia.com>

show more ...

fa6c53ae28-Jul-2025 John Chung <john.chung@arm.com>

Fix parsing single section CPER error

Single section CPER logs do not contain a Record Header. The check for
a valid header is now performed only if the content includes a Record
Header. Additionall

Fix parsing single section CPER error

Single section CPER logs do not contain a Record Header. The check for
a valid header is now performed only if the content includes a Record
Header. Additionally, this update fixes an issue with the size
calculation for single-section logs.

Tested :
$> ./cper-generate --out single-cper.file --single-section firmware
$> ./cper-convert to-json-section single-cper.file

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

show more ...

a11dbaba25-Jul-2025 Ed Tanous <etanous@nvidia.com>

Build jsondac with lower warning levels

json-c uses some macros that result in warnings that get thrown in
jsondacor. We don't really care about warnings in the test library, so
set the warning lev

Build jsondac with lower warning levels

json-c uses some macros that result in warnings that get thrown in
jsondacor. We don't really care about warnings in the test library, so
set the warning level to 2.

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

show more ...

398899a025-Jul-2025 Ed Tanous <etanous@nvidia.com>

Fix pedantic warnings

With the latest build system, somehow -Wpedantic got turned on. This is
reasonable given that we expect this code to compile against a number of
targets. Fix void issues.

vo

Fix pedantic warnings

With the latest build system, somehow -Wpedantic got turned on. This is
reasonable given that we expect this code to compile against a number of
targets. Fix void issues.

void function() changes to void function(void)

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

show more ...

c21e3a1e23-Jul-2025 Khang D Nguyen <khangng@os.amperecomputing.com>

Fix base64 decode_table size

Array size is 257 due to additional null terminator.

base64.c:75:9: error: initializer-string for array of
'unsigned char' truncates NUL terminator but destinatio

Fix base64 decode_table size

Array size is 257 due to additional null terminator.

base64.c:75:9: error: initializer-string for array of
'unsigned char' truncates NUL terminator but destination
lacks 'nonstring' attribute (257 chars into 256 available)
[-Werror=unterminated-string-initialization]

Fix this by initialize it with a proper byte array.

Change-Id: I6a6a6964601f5ae97b4b2c82f16470890da55e07
Signed-off-by: Khang D Nguyen <khangng@os.amperecomputing.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...

b6b8ba2725-Jul-2025 Khang D Nguyen <khangng@os.amperecomputing.com>

Fix C function signature with no parameters

Use void in parameter types to satisfy the compiler.

Change-Id: I6a6a696449f043209b9f32290b914bbae54aefb7
Signed-off-by: Khang D Nguyen <khangng@os.amper

Fix C function signature with no parameters

Use void in parameter types to satisfy the compiler.

Change-Id: I6a6a696449f043209b9f32290b914bbae54aefb7
Signed-off-by: Khang D Nguyen <khangng@os.amperecomputing.com>

show more ...

9147b63309-Jul-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix compilation issues with strncat

Use remaining buf size as "num" argument instead of bytes to copy.

Change-Id: Ie9a721fdcdde605bcdfa850b47da472db7412362
Signed-off-by: Aushim Nagarkatti <anagark

Fix compilation issues with strncat

Use remaining buf size as "num" argument instead of bytes to copy.

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

show more ...

89833fe408-Jul-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Use long unsigned for CPU socket type

PRIu64 to make compatible with both 32 and 64b
Fix format descriptor for cpu socket.

Change-Id: I1485b89d1d3cf896fc58d067469fd8fcff5bd776
Signed-off-by: Aushim

Use long unsigned for CPU socket type

PRIu64 to make compatible with both 32 and 64b
Fix format descriptor for cpu socket.

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

show more ...

df2248dc08-Jul-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Use long unsigned for CPU socket type

Fix format descriptor for cpu socket.

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

ad6c880f18-Jun-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Support to stringify CPER output

Initial commit to add a "message" property that provides a single line
description of some important properties. This makes it easier to parse
multiple CPERs in crow

Support to stringify CPER output

Initial commit to add a "message" property that provides a single line
description of some important properties. This makes it easier to parse
multiple CPERs in crowded logs.

For now, "message" is supported for nvidia, arm processor and memory
types. The other types contain generic messages.

Example output:

```
"sections":[
{
"message":"A Corrected CCPLEXSCF NVIDIA Error occurred on CPU 0",
"Nvidia":{
"signature":"CCPLEXSC",

"sections":[
{
"message":"An ARM Processor Error occurred on CPU 0; Error Type(s): {Cache Error at Virtual Addr=0x41D6AA12D528 Physical Addr=0x80003A198DDA10}",
"ArmProcessor":{
"errorInfoNum":1,

"sections":[
{
"message":"A Multi-bit ECC Memory Error occurred at address 0x0000000080000000 at node 0",
```

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

show more ...


cper-parse.c
examples/arm.cperhex
examples/arm.json
examples/ccixper.cperhex
examples/ccixper.json
examples/cxlcomponent-media.cperhex
examples/cxlcomponent-media.json
examples/cxlprotocol.cperhex
examples/cxlprotocol.json
examples/dmargeneric.cperhex
examples/dmargeneric.json
examples/dmariommu.cperhex
examples/dmariommu.json
examples/dmarvtd.cperhex
examples/dmarvtd.json
examples/firmware.cperhex
examples/firmware.json
examples/generic.cperhex
examples/generic.json
examples/ia32x64.cperhex
examples/ia32x64.json
examples/memory.cperhex
examples/memory.json
examples/memory2.cperhex
examples/memory2.json
examples/nvidia.cperhex
examples/nvidia.json
examples/nvidia_cmet_info.json
examples/pcibus.cperhex
examples/pcibus.json
examples/pcidev.cperhex
examples/pcidev.json
examples/pcie.json
examples/unknown.cperhex
examples/unknown.json
include/libcper/Cper.h
include/libcper/sections/cper-section-ampere.h
include/libcper/sections/cper-section-arm.h
include/libcper/sections/cper-section-ccix-per.h
include/libcper/sections/cper-section-cxl-component.h
include/libcper/sections/cper-section-cxl-protocol.h
include/libcper/sections/cper-section-dmar-generic.h
include/libcper/sections/cper-section-dmar-iommu.h
include/libcper/sections/cper-section-dmar-vtd.h
include/libcper/sections/cper-section-firmware.h
include/libcper/sections/cper-section-generic.h
include/libcper/sections/cper-section-ia32x64.h
include/libcper/sections/cper-section-ipf.h
include/libcper/sections/cper-section-memory.h
include/libcper/sections/cper-section-nvidia.h
include/libcper/sections/cper-section-pci-bus.h
include/libcper/sections/cper-section-pci-dev.h
include/libcper/sections/cper-section-pcie.h
include/libcper/sections/cper-section.h
sections/cper-section-ampere.c
sections/cper-section-arm.c
sections/cper-section-ccix-per.c
sections/cper-section-cxl-component.c
sections/cper-section-cxl-protocol.c
sections/cper-section-dmar-generic.c
sections/cper-section-dmar-iommu.c
sections/cper-section-dmar-vtd.c
sections/cper-section-firmware.c
sections/cper-section-generic.c
sections/cper-section-ia32x64.c
sections/cper-section-ipf.c
sections/cper-section-memory.c
sections/cper-section-nvidia.c
sections/cper-section-pci-bus.c
sections/cper-section-pci-dev.c
sections/cper-section-pcie.c
specification/json/cper-json-full-log.json
specification/json/cper-json-section-log.json
tests/ir-tests.c
tests/test-utils.c
c1e38a1a26-Jun-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix ir-test example generation

The hex output file storing examples was being closed multiple times due
to an error.

To repro without this patch, set GEN_EXAMPLES=1 and rerun ir-tests

Error:
free(

Fix ir-test example generation

The hex output file storing examples was being closed multiple times due
to an error.

To repro without this patch, set GEN_EXAMPLES=1 and rerun ir-tests

Error:
free(): double free detected in tcache 2
Aborted (core dumped)

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

show more ...

eda19ff010-Jun-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Rename PCIe properties

For CSDL compatibility property names shouldn't begin with underscores
or digits. Fix PCIe names.

Change-Id: I6a801e26550320f808a2cac2d91f8bd913a0eabf
Signed-off-by: Aushim N

Rename PCIe properties

For CSDL compatibility property names shouldn't begin with underscores
or digits. Fix PCIe names.

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

show more ...

90e9879e05-Jun-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix required property in ErrorInformation

Missing required property. ErrorInformation changed from defining a
OneOf[] to regular properties. We missed adding a required.

Change-Id: Ia23133d9896787d

Fix required property in ErrorInformation

Missing required property. ErrorInformation changed from defining a
OneOf[] to regular properties. We missed adding a required.

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

show more ...

9cca617230-May-2025 Patrick Williams <patrick@stwcx.xyz>

clang-tidy: format with config-clang-tidy

Reformat the .clang-tidy file for consistency using the
config-clang-tidy tool from openbmc-build-scripts.

Change-Id: I49ebb5cb5160925fe413581e56562bc78d82

clang-tidy: format with config-clang-tidy

Reformat the .clang-tidy file for consistency using the
config-clang-tidy tool from openbmc-build-scripts.

Change-Id: I49ebb5cb5160925fe413581e56562bc78d8209b9
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

ffa7e17d29-May-2025 Ed Tanous <etanous@nvidia.com>

Add schema for PCIe aerInfo

A few commits ago, we punted and didn't include a schema for aerinfo.
This commit reenables the json schema, and corrects the config for
the PCIe error fields.

There are

Add schema for PCIe aerInfo

A few commits ago, we punted and didn't include a schema for aerinfo.
This commit reenables the json schema, and corrects the config for
the PCIe error fields.

There are certain objects that have zero properties. These are
commented out temporarily to ensure that we don't have empty objects
in the output, which would confuse users.

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

show more ...

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 ...

cd9b1c5822-Apr-2025 Ed Tanous <etanous@nvidia.com>

Make pip buildable

This package would be very useful if able to be built with pip. This
commit makes libcper usable from python with
git clone git@github.com:openbmc/libcper.git
pip install libcper

Make pip buildable

This package would be very useful if able to be built with pip. This
commit makes libcper usable from python with
git clone git@github.com:openbmc/libcper.git
pip install libcper

The API at the moment is primitive, and only supports the parse api. An
example of its usage is included.

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

show more ...

55968b1206-May-2025 Ed Tanous <ed@tanous.net>

Nvidia add cmet-info

Add decoding of more specific Error codes.

Unit tests pass.

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

9f260e5e24-Apr-2025 Ed Tanous <etanous@nvidia.com>

Add decode of pcie device class

This commit makes two major changes. First, the device class tables
were being decoded incorrectly as LSB-first. This changes them to
MSB-first.

Second, once this v

Add decode of pcie device class

This commit makes two major changes. First, the device class tables
were being decoded incorrectly as LSB-first. This changes them to
MSB-first.

Second, once this value is correct decode the tables to a string name
making it much easier for users to identify a specific device that
caused a PCIe error.

Note: The majority of the mode lookup table was created by LLM. The
entries have been manually reviewed for correctness and completeness.

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

show more ...

4f887d8e16-May-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix print qualifier for readsize property

This was causing compile errors in yocto, fixed with correct type.

Change-Id: I06528391e7dab9d30af2577237ccfc84132823cf
Signed-off-by: Aushim Nagarkatti <a

Fix print qualifier for readsize property

This was causing compile errors in yocto, fixed with correct type.

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

show more ...

12345678910