| 51c18132 | 26-Nov-2025 |
Daniel Osawa <dosawa@nvidia.com> |
Add NVIDIA Event CPER section support
Add parsing and generation for NVIDIA Event error sections, including: - CPU and GPU device-specific event info - Multiple context data formats (key-value pairs
Add NVIDIA Event CPER section support
Add parsing and generation for NVIDIA Event error sections, including: - CPU and GPU device-specific event info - Multiple context data formats (key-value pairs, opaque, GPU metadata, legacy XID, recommended actions) - JSON schema specifications - Example files and tests
Change-Id: Ibf66e2e4263014c2157958acf2f6158361fc6866 Signed-off-by: Daniel Osawa <dosawa@nvidia.com> Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| e1cba52d | 18-Sep-2025 |
Prachotan Bathi <prachotan.bathi@arm.com> |
cper-section-arm-ras: Support Arm RAS System Architecture node CPER
The DEN0085 - Arm ACPI for the Armv8-A RAS Extension and RAS System Architecture v2.0 specification, section 4, defines additional
cper-section-arm-ras: Support Arm RAS System Architecture node CPER
The DEN0085 - Arm ACPI for the Armv8-A RAS Extension and RAS System Architecture v2.0 specification, section 4, defines additional standard CPER records for Arm RAS architecture. https://developer.arm.com/documentation/den0085/latest/
Added section definitions and generator to generate an example cper with one descriptor. Generate using: ./cper-generate --out cper.generated.dump --sections arm-ras-node
Signed-off-by: Prachotan Bathi <prachotan.bathi@arm.com> Signed-off-by: Ed Tanous <etanous@nvidia.com> Change-Id: Ic7fa68a6c584c537a3dc2c4b17795dd7ba3b3f8c
show more ...
|
| d3bdda6d | 04-Feb-2026 |
Ed Tanous <ed@tanous.net> |
Change formatting of comments
These comments format oddly on different versions of clang. Change them to be more standard and not overflow the line.
Change-Id: I7dc9d68f4ac5520f9d48e60ef284e3c29b7
Change formatting of comments
These comments format oddly on different versions of clang. Change them to be more standard and not overflow the line.
Change-Id: I7dc9d68f4ac5520f9d48e60ef284e3c29b7adc89 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 84752233 | 21-Jan-2026 |
Ed Tanous <etanous@nvidia.com> |
Use size of buffer for copy
When using the untrusted functions, use the length of the buffer, rather than strlen to determine the correct size of the char array.
While we're there, change the gener
Use size of buffer for copy
When using the untrusted functions, use the length of the buffer, rather than strlen to determine the correct size of the char array.
While we're there, change the generation function to explicitly load all bytes of the signature with zeros.
Tested: Unit tests pass.
Change-Id: I588c7f03dec0f749dad76e776ae818b31351d45c Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 9f689326 | 12-Jan-2026 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
Enable fuzzing path for nvidia-cmet
Randomize the Signature property to point to any of the pre-existing types. This will ensure Fuzzing catches errors related to this code path.
Change-Id: Ic2ae0c
Enable fuzzing path for nvidia-cmet
Randomize the Signature property to point to any of the pre-existing types. This will ensure Fuzzing catches errors related to this code path.
Change-Id: Ic2ae0c7d57722fa7b573afac11fe3e67c91b220e Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
| 680875cb | 13-Jan-2026 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
CMET size check off by 1
The size calculation was off by 1 in the old code. We need to account for EFI_NVIDIA_REGISTER_DATA + EFI_NVIDIA_ERROR_DATA when i==0.
Change-Id: Ib5d29f90cd52a199dd2fa391ba
CMET size check off by 1
The size calculation was off by 1 in the old code. We need to account for EFI_NVIDIA_REGISTER_DATA + EFI_NVIDIA_ERROR_DATA when i==0.
Change-Id: Ib5d29f90cd52a199dd2fa391bac5d4bb634083a6 Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
| 6df70ff6 | 21-Jan-2026 |
Ed Tanous <ed@tanous.net> |
Replace json validator
jsoncdaccord appears to have force pushed their repo and removed all history Despite having recent commits, it appears they no longer have support. Replace the external sche
Replace json validator
jsoncdaccord appears to have force pushed their repo and removed all history Despite having recent commits, it appears they no longer have support. Replace the external schema validator with a minimal schema validator that only implements the features that libcper uses. This may be temporary until we find another well supported validator, but for the moment, this seems like the best of the options.
Some files are pulled from jsondac, so that license is maintained.
Fixes #7
Tested: Tests pass. No library changes.
Change-Id: I29872ce420850accecf6fa4372b4ede14b73250b Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
| 64389bfd | 09-Jan-2026 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
Remove "message" from required schema properties
In a case where there's no section match for a GUID, we currently dump the be64 CPER under "data". There's no expectation for unknown CPERs to posses
Remove "message" from required schema properties
In a case where there's no section match for a GUID, we currently dump the be64 CPER under "data". There's no expectation for unknown CPERs to possess a description string.
"Unknown": { "data": "Q1BFUgD\/\/\/8=" }
Change-Id: Ieec1c9baa8394f0d7edd91487de3a69848258121 Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
| f125142c | 09-Jan-2026 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
Fix memory leaks in to_ir conversions
Memory was not being freed properly on bail conditions in the section to_ir functions. This frees description strings, frees json objects and assigns descriptio
Fix memory leaks in to_ir conversions
Memory was not being freed properly on bail conditions in the section to_ir functions. This frees description strings, frees json objects and assigns description pointers to null.
Change-Id: I69c1efdeaeb4796033e7f42b22569c62ced77c42 Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
| 043d5f4b | 17-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 ...
|
| 5a8a94f4 | 07-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 ...
|
| f1c89124 | 14-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 ...
|
| 991ebf22 | 14-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 ...
|
| a5cc9a92 | 03-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 ...
|
| da75128c | 28-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 ...
|
| fa6c53ae | 28-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 ...
|
| a11dbaba | 25-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 ...
|
| 398899a0 | 25-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 ...
|
| c21e3a1e | 23-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 ...
|
| b6b8ba27 | 25-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 ...
|
| 9147b633 | 09-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 ...
|
| 89833fe4 | 08-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 ...
|
| df2248dc | 08-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> |
| ad6c880f | 18-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 ...
|
| c1e38a1a | 26-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 ...
|