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 ...
|
13f099ff | 20-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix timestamp buffer length overrun
Addresses the buffer overrun introduced by format changes.
Change-Id: I8341818747b43883a3d3b243e9a1fbc5bcc927cf Signed-off-by: Andrew Adriance <aadriance@nvidia.
Fix timestamp buffer length overrun
Addresses the buffer overrun introduced by format changes.
Change-Id: I8341818747b43883a3d3b243e9a1fbc5bcc927cf Signed-off-by: Andrew Adriance <aadriance@nvidia.com> Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
c2558c64 | 13-Nov-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
Arm: Move the definitions to Cper.h
As [1], the `sections/cper-section-myvendor.h` will include the `cper_section_myvendor_to_ir` and `ir_section_myvendor_to_cper` APIs. The other definitions will b
Arm: Move the definitions to Cper.h
As [1], the `sections/cper-section-myvendor.h` will include the `cper_section_myvendor_to_ir` and `ir_section_myvendor_to_cper` APIs. The other definitions will be in `Cper.h`. Move the definition in `cper-section-arm.h` to `Cper.h` to follow [1].
[1] https://github.com/openbmc/libcper/blob/main/docs/OEMExtensions.md#creating-a-section-parser
Change-Id: I7a0ba10b965ddf51ffe284bb21cbe091379456c0 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
show more ...
|
e42fb487 | 15-Oct-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
Change include style to use system includes
The libcper header files in `libcper` are installed to `usr/include/libcper`. Use that system includes in `libcper` source instead of using the project in
Change include style to use system includes
The libcper header files in `libcper` are installed to `usr/include/libcper`. Use that system includes in `libcper` source instead of using the project includes.
Change-Id: I596edc2c754dae4829844f535a1e34caa246fb43 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
show more ...
|
de7dd061 | 04-Nov-2024 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
Fix timestamp to match ISO8061 format
Timestamp needs to match ISO8061 to match compatibility standards. Add UTC timezone.
Change-Id: I8ec314d87f90e8f261979a1b6efbd05ed8beb514 Signed-off-by: Aushim
Fix timestamp to match ISO8061 format
Timestamp needs to match ISO8061 to match compatibility standards. Add UTC timezone.
Change-Id: I8ec314d87f90e8f261979a1b6efbd05ed8beb514 Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
a3b7f8a2 | 04-Nov-2024 |
Ed Tanous <etanous@nvidia.com> |
Unflatten edk includes
Installing the edk headers into a folder requires us to do odd things with imports, and either include headers with "..", or otherwise get the include directories lined up.
M
Unflatten edk includes
Installing the edk headers into a folder requires us to do odd things with imports, and either include headers with "..", or otherwise get the include directories lined up.
Move the contents of edk/*.c/h up a level, and just simplify the include structure. This is done to fix the immediate change of the prior patch and make this build again. Happy to discuss other options.
Change-Id: I328f20bca6d23100993493445bee0e5e11d2866a Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
c44aa26c | 14-Oct-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
Install libcper header files to libcper directory
In the current implementation, the header files of `libcper` will be installed directly to `/usr/include`. This can causes the collision in package
Install libcper header files to libcper directory
In the current implementation, the header files of `libcper` will be installed directly to `/usr/include`. This can causes the collision in package manages when it installs the header files of other libs which the file names are duplicated. Moreover, the libcper is new and porting this to meson a few months ago, so there are no upstream applications using libcper at this time.
Change meson build to install the `libcper` header files to sub folder `libcper` in `/usr/include`.
Change-Id: I853dc8fc7465626317d5829e7f00704bbae9fac2 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.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 ...
|
0df69a8b | 03-Oct-2024 |
Ed Tanous <etanous@nvidia.com> |
Clean up meson file
Sort lists alphabetically Use files() where appropriate Collapse function calls where there were duplicates.
Tested: code compiles. Unit tests pass.
Change-Id: Iba55e191aa4109
Clean up meson file
Sort lists alphabetically Use files() where appropriate Collapse function calls where there were duplicates.
Tested: code compiles. Unit tests pass.
Change-Id: Iba55e191aa410922d8517cd9d2418108a79987d9 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
10eb6de3 | 03-Oct-2024 |
Ed Tanous <ed@tanous.net> |
Format meson files
Format with
meson format -i $(git ls-files | grep "meson.*$")
Tested: code compiles. Whitespace only.
Change-Id: I63f2e78aeb7924f9560c3b45ba3b5c4059c47e12 Signed-off-by: Ed Ta
Format meson files
Format with
meson format -i $(git ls-files | grep "meson.*$")
Tested: code compiles. Whitespace only.
Change-Id: I63f2e78aeb7924f9560c3b45ba3b5c4059c47e12 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
eed88bbf | 03-Oct-2024 |
Ed Tanous <ed@tanous.net> |
Allow building code locally
json_c doesn't compile without warnings, but is a library so does need to build when used as a subproject. Break out the subproject.
Tested: Unit tests pass
Change-Id:
Allow building code locally
json_c doesn't compile without warnings, but is a library so does need to build when used as a subproject. Break out the subproject.
Tested: Unit tests pass
Change-Id: I7f50711d2ab972034ec5b7de96975084081c95ca Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
cdadd235 | 03-Oct-2024 |
Ed Tanous <etanous@nvidia.com> |
update json-c
Wrap file from wrapdb
Tested: Code compiles
Change-Id: Ibc139ed73aeb3a2328c177bb24e8dbad2301e48b Signed-off-by: Ed Tanous <etanous@nvidia.com> |
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> |
9c7ba1d2 | 25-Sep-2024 |
Ed Tanous <etanous@nvidia.com> |
Convert windows newlines to unix
This file has windows newlines that must've been pasted in, and because they're in a block comment, clang doesn't format them. Fix it.
Change-Id: I48ee9c0a9441b7d1
Convert windows newlines to unix
This file has windows newlines that must've been pasted in, and because they're in a block comment, clang doesn't format them. Fix it.
Change-Id: I48ee9c0a9441b7d1006f6304cfc94fd1c232f47c Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
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 ...
|
7623a6e7 | 20-Sep-2024 |
Karthik Rajagopalan <krajagopalan@nvidia.com> |
Output guids in 8-4-4-4-12 pattern to match spec
Addresses failure with Redfish Service Validator: ``` NotificationType: String '09a9d5ac-5204-4214-96e594992e752bcd' does not match pattern ''[0-9a-f
Output guids in 8-4-4-4-12 pattern to match spec
Addresses failure with Redfish Service Validator: ``` NotificationType: String '09a9d5ac-5204-4214-96e594992e752bcd' does not match pattern ''[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'' ```
Change-Id: I5ab0cb50d04a4f2e833b4b6006471d1a1a2aec67 Signed-off-by: Karthik Rajagopalan <krajagopalan@nvidia.com>
show more ...
|
12587b29 | 25-Sep-2024 |
Karthik Rajagopalan <krajagopalan@nvidia.com> |
Fix false-success in schema validation
Was getting the following with validate_schema_debug_enable() ``` json_validator: Validating field 'parent'... json_validator: oneOf options detected for field
Fix false-success in schema validation
Was getting the following with validate_schema_debug_enable() ``` json_validator: Validating field 'parent'... json_validator: oneOf options detected for field 'parent'. json_validator: Validating field 'parent'... json_validator: $ref schema detected for field 'parent'. json_validator: loaded schema path './cper-json-full-log.json' for field 'parent'. json_validator: Desired field type not provided within schema/is not a string for field 'parent' (schema violation). json_validator: Successfully validated the provided object against schema. ``` ($ref was processed incorrectly & ret < 0 was taken as success)
Change-Id: I6b22ecd889170964a2eb61e3f4f8c076684fa884 Signed-off-by: Karthik Rajagopalan <krajagopalan@nvidia.com>
show more ...
|
255bd81a | 06-Sep-2024 |
Karthik Rajagopalan <krajagopalan@nvidia.com> |
Use extern C guards in all headers
The project uses a mix of C and C++ requiring extern "C" guards from C++ code both within the project & from C++ apps that use libcper. That won't be required with
Use extern C guards in all headers
The project uses a mix of C and C++ requiring extern "C" guards from C++ code both within the project & from C++ apps that use libcper. That won't be required with this change.
Change-Id: I835dd05166732ca213c72eae2904815a8769599b Signed-off-by: Karthik Rajagopalan <krajagopalan@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 ...
|
379e492a | 28-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
Adjust strncpy sizes
When building under bitbake with the latest openbmc, we get compile warnings such as these:
``` | ../git/sections/cper-section-nvidia.c: In function 'ir_section_nvidia_to_cper'
Adjust strncpy sizes
When building under bitbake with the latest openbmc, we get compile warnings such as these:
``` | ../git/sections/cper-section-nvidia.c: In function 'ir_section_nvidia_to_cper': | ../git/sections/cper-section-nvidia.c:67:9: error: '__builtin_strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] | 67 | strncpy(section_cper->Signature, ```
Using `strncpy` on its own is unsafe because a string too long will end up in the destination buffer without NUL termination. Adjust the strncpy to be one shorter than the buffer and force the trailing byte to be a NUL.
Repeat this pattern for all `strncpy` calls.
Change-Id: I45c630733f0138d2b089a60f698d75e1c09de9e2 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|