History log of /openbmc/libcper/ (Results 1 – 25 of 159)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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 ...

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

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

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


Cper.c
base64.c
cli-app/cper-convert.c
common-utils.c
cper-parse.c
cper-parse.i
cper-utils.c
docs/GeneratorExtensions.md
docs/OEMExtensions.md
generator/cper-generate-cli.c
generator/cper-generate.c
generator/gen-utils.c
generator/sections/gen-section-ampere.c
generator/sections/gen-section-arm.c
generator/sections/gen-section-ccix-per.c
generator/sections/gen-section-cxl-component.c
generator/sections/gen-section-cxl-protocol.c
generator/sections/gen-section-dmar.c
generator/sections/gen-section-firmware.c
generator/sections/gen-section-generic.c
generator/sections/gen-section-ia32x64.c
generator/sections/gen-section-memory.c
generator/sections/gen-section-nvidia.c
generator/sections/gen-section-pci-bus.c
generator/sections/gen-section-pci-dev.c
generator/sections/gen-section-pcie.c
generator/sections/gen-section.c
include/libcper/BaseTypes.h
include/libcper/Cper.h
include/libcper/base64.h
include/libcper/common-utils.h
include/libcper/cper-parse-str.h
include/libcper/cper-parse.h
include/libcper/cper-utils.h
include/libcper/generator/cper-generate.h
include/libcper/generator/gen-utils.h
include/libcper/generator/sections/gen-section.h
include/libcper/json-schema.h
include/libcper/meson.build
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
include/meson.build
ir-parse.c
json-schema.c
meson.build
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
sections/cper-section.c
tests/base64_test.cpp
tests/ir-tests.cpp
tests/meson.build
tests/test-utils.cpp
tests/test-utils.hpp
de7dd06104-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 ...

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


BaseTypes.h
Cper.c
Cper.h
base64.c
base64.h
common-utils.c
common-utils.h
cper-parse.c
cper-utils.c
docs/GeneratorExtensions.md
docs/OEMExtensions.md
generator/cper-generate-cli.c
generator/cper-generate.c
generator/cper-generate.h
generator/gen-utils.c
generator/gen-utils.h
generator/sections/gen-section-ampere.c
generator/sections/gen-section-arm.c
generator/sections/gen-section-ccix-per.c
generator/sections/gen-section-cxl-component.c
generator/sections/gen-section-cxl-protocol.c
generator/sections/gen-section-dmar.c
generator/sections/gen-section-firmware.c
generator/sections/gen-section-generic.c
generator/sections/gen-section-ia32x64.c
generator/sections/gen-section-memory.c
generator/sections/gen-section-nvidia.c
generator/sections/gen-section-pci-bus.c
generator/sections/gen-section-pci-dev.c
generator/sections/gen-section-pcie.c
generator/sections/gen-section.h
ir-parse.c
json-schema.c
meson.build
sections/cper-section-ampere.c
sections/cper-section-ampere.h
sections/cper-section-arm.c
sections/cper-section-arm.h
sections/cper-section-ccix-per.c
sections/cper-section-ccix-per.h
sections/cper-section-cxl-component.c
sections/cper-section-cxl-component.h
sections/cper-section-cxl-protocol.c
sections/cper-section-cxl-protocol.h
sections/cper-section-dmar-generic.c
sections/cper-section-dmar-generic.h
sections/cper-section-dmar-iommu.c
sections/cper-section-dmar-iommu.h
sections/cper-section-dmar-vtd.c
sections/cper-section-dmar-vtd.h
sections/cper-section-firmware.c
sections/cper-section-firmware.h
sections/cper-section-generic.c
sections/cper-section-generic.h
sections/cper-section-ia32x64.c
sections/cper-section-ia32x64.h
sections/cper-section-ipf.c
sections/cper-section-ipf.h
sections/cper-section-memory.c
sections/cper-section-memory.h
sections/cper-section-nvidia.c
sections/cper-section-nvidia.h
sections/cper-section-pci-bus.c
sections/cper-section-pci-bus.h
sections/cper-section-pci-dev.c
sections/cper-section-pci-dev.h
sections/cper-section-pcie.c
sections/cper-section-pcie.h
sections/cper-section.c
sections/cper-section.h
specification/document/cper-json-specification.tex
tests/test-utils.cpp
tests/test-utils.hpp
c44aa26c14-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 ...

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

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

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

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

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

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>

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

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

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

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

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

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

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

1234567