1c321faa | 19-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 ...
|
8870c074 | 28-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 ...
|
75a60286 | 15-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 ...
|
d6b62637 | 14-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 ...
|
7a531ff4 | 14-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Add additionalProperties=false
Change-Id: Iaec16b61ae8ec24c2013a310bf6a8d3a10e1f571 Signed-off-by: Ed Tanous <etanous@nvidia.com> |
7474a74c | 14-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 ...
|
da798dc4 | 14-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Fix required fields
Change-Id: Ic0cc2dbf0a53d8be7144f4c4c9eea1566c986309 Signed-off-by: Ed Tanous <etanous@nvidia.com> |
517282ff | 03-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 ...
|
ae8f6d9a | 29-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 ...
|
466ecd9c | 22-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 ...
|
cc367011 | 05-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 ...
|
d9835a17 | 05-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 ...
|
3cebfc28 | 20-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 ...
|
17bc66a0 | 25-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 ...
|
382ad4c7 | 19-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 ...
|
5b793009 | 26-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 ...
|
b07061ab | 22-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 ...
|
04f57716 | 29-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> |
2d17acec | 27-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 ...
|
21c21549 | 17-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 ...
|
683e0550 | 07-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> |
044afd01 | 03-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 |
617949e4 | 08-Aug-2022 |
Lawrence Tang <lawrence.tang@arm.com> |
Add CPER conversion for single section records. |
3592da71 | 21-Jul-2022 |
Lawrence Tang <lawrence.tang@arm.com> |
Add human readable name to IA32x64 error info GUIDs. |
3ab351fe | 20-Jul-2022 |
Lawrence Tang <lawrence.tang@arm.com> |
Fix errors in CPER write, remove PCIe AER support. |