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


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

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>

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

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

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

683e055007-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>

a7d2cddd15-Jul-2024 Ed Tanous <etanous@nvidia.com>

Move to embedded base64

Base64 encode/decode is a relatively simple algorithm, and currently
libcper takes a dependency on libb64 for this. libb64 does not have
methods for determining the encoded

Move to embedded base64

Base64 encode/decode is a relatively simple algorithm, and currently
libcper takes a dependency on libb64 for this. libb64 does not have
methods for determining the encoded size or decoded size, and rely on
the user to provide the right buffer sizes, which libcper currently
approximates as 2X the input size (which is incorrect).

This commit removes the libb64 dependency entirely, and inlines a
libcper specific base64 encoder and decoder, using EDK2-allowed types.

The implementation itself is unique to libcper and makes the following
design decisions.
1. Malloc is performed within the base64_<> functions. This reduces the
number of malloc calls total, and removes the need for separately
determining the output size.
2. Arguments are passed in by EDK2-types under the assumption that this
will keep compatibility with EDK2 implementations.
3. Incremental parsing is not supported. CPER records are expected to
be algorithmically small, and buffered such that the entire value
fits in memory. This was already an assumption, but dropping the
support for incremental encoding significantly reduces the amount of
code to support it. It could be added back in the future if needed.

Change-Id: Idb010db105067ea317dbee05c2663511ab3c6611
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

fedd457d12-Jul-2024 Ed Tanous <ed@tanous.net>

Remove trailing whitespace

clang-format won't remove trailing whitespace if that's the only change.
Fix them all.

Change-Id: Ic6e14af43cdd11905d3b58430d49b9ec1484f812
Signed-off-by: Ed Tanous <ed@t

Remove trailing whitespace

clang-format won't remove trailing whitespace if that's the only change.
Fix them all.

Change-Id: Ic6e14af43cdd11905d3b58430d49b9ec1484f812
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...


/openbmc/libcper/.clang-tidy
/openbmc/libcper/OWNERS
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/cper-utils.h
/openbmc/libcper/edk/Cper.h
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/generator/sections/gen-section.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/meson.build
cper-section-arm.c
cper-section-ccix-per.c
cper-section-cxl-component.c
cper-section-cxl-protocol.c
cper-section-dmar-generic.c
cper-section-dmar-iommu.c
cper-section-dmar-vtd.c
cper-section-firmware.c
cper-section-generic.c
cper-section-ia32x64.c
cper-section-ipf.c
cper-section-memory.c
cper-section-pci-bus.c
cper-section-pci-dev.c
cper-section-pcie.c
cper-section.c
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
6981acbf18-Jun-2024 Ed Tanous <etanous@nvidia.com>

Fix warning

Clang warns that this line is missing a comma, which it is. Add the
comma.

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

0b9c940222-May-2024 John Chung <john.chung@arm.com>

Fix compiler error : strict-aliasing

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

f8fc705203-May-2024 John Chung <john.chung@arm.com>

Formatting .c/.h files and fix memory leakage issues

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


/openbmc/libcper/.clang-format
/openbmc/libcper/README.md
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/common-utils.h
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.h
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/cper-utils.h
/openbmc/libcper/docs/GeneratorExtensions.md
/openbmc/libcper/docs/OEMExtensions.md
/openbmc/libcper/edk/BaseTypes.h
/openbmc/libcper/edk/Cper.c
/openbmc/libcper/edk/Cper.h
/openbmc/libcper/generator/README.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/cper-generate.h
/openbmc/libcper/generator/gen-utils.c
/openbmc/libcper/generator/gen-utils.h
/openbmc/libcper/generator/sections/gen-section-arm.c
/openbmc/libcper/generator/sections/gen-section-ccix-per.c
/openbmc/libcper/generator/sections/gen-section-cxl-component.c
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-dmar.c
/openbmc/libcper/generator/sections/gen-section-firmware.c
/openbmc/libcper/generator/sections/gen-section-generic.c
/openbmc/libcper/generator/sections/gen-section-ia32x64.c
/openbmc/libcper/generator/sections/gen-section-memory.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/generator/sections/gen-section-pci-dev.c
/openbmc/libcper/generator/sections/gen-section-pcie.c
/openbmc/libcper/generator/sections/gen-section.c
/openbmc/libcper/generator/sections/gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/json-schema.h
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
cper-section-arm.c
cper-section-arm.h
cper-section-ccix-per.c
cper-section-ccix-per.h
cper-section-cxl-component.c
cper-section-cxl-component.h
cper-section-cxl-protocol.c
cper-section-cxl-protocol.h
cper-section-dmar-generic.c
cper-section-dmar-generic.h
cper-section-dmar-iommu.c
cper-section-dmar-iommu.h
cper-section-dmar-vtd.c
cper-section-dmar-vtd.h
cper-section-firmware.c
cper-section-firmware.h
cper-section-generic.c
cper-section-generic.h
cper-section-ia32x64.c
cper-section-ia32x64.h
cper-section-ipf.c
cper-section-ipf.h
cper-section-memory.c
cper-section-memory.h
cper-section-pci-bus.c
cper-section-pci-bus.h
cper-section-pci-dev.c
cper-section-pci-dev.h
cper-section-pcie.c
cper-section-pcie.h
cper-section.c
cper-section.h
/openbmc/libcper/specification/json/common/cper-json-error-status.json
/openbmc/libcper/specification/json/common/cper-json-nvp.json
/openbmc/libcper/specification/json/cper-json-full-log.json
/openbmc/libcper/specification/json/cper-json-header.json
/openbmc/libcper/specification/json/cper-json-section-descriptor.json
/openbmc/libcper/specification/json/cper-json-section-log.json
/openbmc/libcper/specification/json/cper-json.json
/openbmc/libcper/specification/json/sections/cper-arm-processor.json
/openbmc/libcper/specification/json/sections/cper-ccix-per.json
/openbmc/libcper/specification/json/sections/cper-cxl-component.json
/openbmc/libcper/specification/json/sections/cper-cxl-protocol.json
/openbmc/libcper/specification/json/sections/cper-firmware.json
/openbmc/libcper/specification/json/sections/cper-generic-dmar.json
/openbmc/libcper/specification/json/sections/cper-generic-processor.json
/openbmc/libcper/specification/json/sections/cper-ia32x64-processor.json
/openbmc/libcper/specification/json/sections/cper-iommu-dmar.json
/openbmc/libcper/specification/json/sections/cper-memory.json
/openbmc/libcper/specification/json/sections/cper-memory2.json
/openbmc/libcper/specification/json/sections/cper-pci-bus.json
/openbmc/libcper/specification/json/sections/cper-pci-component.json
/openbmc/libcper/specification/json/sections/cper-pcie.json
/openbmc/libcper/specification/json/sections/cper-unknown.json
/openbmc/libcper/specification/json/sections/cper-vtd-dmar.json
/openbmc/libcper/subprojects/googletest.wrap
/openbmc/libcper/subprojects/json-c.wrap
/openbmc/libcper/subprojects/libb64.wrap
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
580423fe24-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Shift section definitions into separate file, add testing.

Change-Id: Idb0b41d7fa2999485580fca770958a27c1086f65

5202bbb412-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Source json.h non-locally.

Change-Id: Ia42c41fde74596b394a1f7ae0021f1a5510991a8


/openbmc/libcper/CMakeLists.txt
/openbmc/libcper/LICENSE
/openbmc/libcper/README.md
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.h
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/generator/README.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/cper-generate.h
/openbmc/libcper/generator/sections/gen-section-cxl-protocol.c
/openbmc/libcper/generator/sections/gen-section-pci-bus.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/json-schema.h
cper-section-arm.c
cper-section-arm.h
cper-section-ccix-per.c
cper-section-ccix-per.h
cper-section-cxl-component.c
cper-section-cxl-component.h
cper-section-cxl-protocol.c
cper-section-cxl-protocol.h
cper-section-dmar-generic.c
cper-section-dmar-generic.h
cper-section-dmar-iommu.c
cper-section-dmar-iommu.h
cper-section-dmar-vtd.c
cper-section-dmar-vtd.h
cper-section-firmware.c
cper-section-firmware.h
cper-section-generic.c
cper-section-generic.h
cper-section-ia32x64.c
cper-section-ia32x64.h
cper-section-ipf.c
cper-section-ipf.h
cper-section-memory.c
cper-section-memory.h
cper-section-pci-bus.c
cper-section-pci-bus.h
cper-section-pci-dev.c
cper-section-pci-dev.h
cper-section-pcie.c
cper-section-pcie.h
/openbmc/libcper/specification/document/cper-json-specification.tex
/openbmc/libcper/specification/json/cper-json-full-log.json
/openbmc/libcper/specification/json/cper-json-section-log.json
/openbmc/libcper/specification/json/cper-json.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
efe17e2c08-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix several review comments.

3592da7121-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add human readable name to IA32x64 error info GUIDs.

e407b4c821-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Partial reformat to kernel code style.

0a4b3f2d21-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix bugs appearing from fuzzing.

04750a9e20-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix errata in IA32x64 processing.

3ab351fe20-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix errors in CPER write, remove PCIe AER support.

01e3a44d20-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix IA32x64 pointer corruption, invalid generation on ARM.

aacf0e2620-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add fixes based on test fuzzing.

4237584e19-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix various errata found from testing.

d34f2b1119-Jul-2022 Lawrence Tang <lawrence.tang@arm.com>

Add test suite, fix a mountain of small errors.

123