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


/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/nvidia_event_all_types.cperhex
/openbmc/libcper/examples/nvidia_event_all_types.json
gen-section-nvidia-events.c
gen-section.c
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/sections/gen-section.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia-events.h
/openbmc/libcper/meson.build
/openbmc/libcper/sections/cper-section-nvidia-events.c
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/specification/json/cper-json-full-log.json
/openbmc/libcper/specification/json/cper-json-section-log.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-gpu-legacy-xid.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-gpu-metadata.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-gpu-recommended-actions.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-opaque.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-type1.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-type2.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-type3.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-data-type4.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-info-cpu.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event-info-gpu.json
/openbmc/libcper/specification/json/sections/cper-nvidia-event.json
/openbmc/libcper/tests/hex_test.c
/openbmc/libcper/tests/hex_test.h
/openbmc/libcper/tests/ir-tests.c
/openbmc/libcper/tests/meson.build
e1cba52d18-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 ...

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

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


/openbmc/libcper/.clang-tidy
/openbmc/libcper/README.md
/openbmc/libcper/base64.c
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.i
/openbmc/libcper/examples/arm.cperhex
/openbmc/libcper/examples/arm.json
/openbmc/libcper/examples/ccixper.cperhex
/openbmc/libcper/examples/ccixper.json
/openbmc/libcper/examples/cxlcomponent-media.cperhex
/openbmc/libcper/examples/cxlcomponent-media.json
/openbmc/libcper/examples/cxlprotocol.cperhex
/openbmc/libcper/examples/cxlprotocol.json
/openbmc/libcper/examples/dmargeneric.cperhex
/openbmc/libcper/examples/dmargeneric.json
/openbmc/libcper/examples/dmariommu.cperhex
/openbmc/libcper/examples/dmariommu.json
/openbmc/libcper/examples/dmarvtd.cperhex
/openbmc/libcper/examples/dmarvtd.json
/openbmc/libcper/examples/firmware.cperhex
/openbmc/libcper/examples/firmware.json
/openbmc/libcper/examples/generic.cperhex
/openbmc/libcper/examples/generic.json
/openbmc/libcper/examples/ia32x64.cperhex
/openbmc/libcper/examples/ia32x64.json
/openbmc/libcper/examples/memory-validation-bits.cperhex
/openbmc/libcper/examples/memory-validation-bits.json
/openbmc/libcper/examples/memory.cperhex
/openbmc/libcper/examples/memory.json
/openbmc/libcper/examples/memory2.cperhex
/openbmc/libcper/examples/memory2.json
/openbmc/libcper/examples/nvidia.cperhex
/openbmc/libcper/examples/nvidia.json
/openbmc/libcper/examples/nvidia_cmet_info.json
/openbmc/libcper/examples/pcibus.cperhex
/openbmc/libcper/examples/pcibus.json
/openbmc/libcper/examples/pcidev.cperhex
/openbmc/libcper/examples/pcidev.json
/openbmc/libcper/examples/pcie.json
/openbmc/libcper/examples/unknown.cperhex
/openbmc/libcper/examples/unknown.json
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/gen-utils.c
gen-section-arm.c
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/log.h
/openbmc/libcper/include/libcper/sections/cper-section-ampere.h
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/include/libcper/sections/cper-section.h
/openbmc/libcper/log.c
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/parse_example.py
/openbmc/libcper/pycper.c
/openbmc/libcper/pyproject.toml
/openbmc/libcper/sections/cper-section-ampere.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-nvidia.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/specification/json/cper-json-full-log.json
/openbmc/libcper/specification/json/cper-json-section-log.json
/openbmc/libcper/specification/json/sections/cper-arm-processor.json
/openbmc/libcper/specification/json/sections/cper-pcie-aerInfo.json
/openbmc/libcper/specification/json/sections/cper-pcie-capabilityStructure.json
/openbmc/libcper/specification/json/sections/cper-pcie.json
/openbmc/libcper/subprojects/json-c.wrap
/openbmc/libcper/subprojects/packagefiles/json-c/config/meson.build
/openbmc/libcper/subprojects/packagefiles/json-c/meson.build
/openbmc/libcper/subprojects/packagefiles/jsoncdac/meson.build
/openbmc/libcper/tests/base64_test.c
/openbmc/libcper/tests/base64_test.h
/openbmc/libcper/tests/ir-tests.c
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.c
55968b1206-May-2025 Ed Tanous <ed@tanous.net>

Nvidia add cmet-info

Add decoding of more specific Error codes.

Unit tests pass.

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

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

bd1814de31-Mar-2025 Khang D Nguyen <khangng@os.amperecomputing.com>

Ensure FRU text is printable ASCII

Currently, libcper currently fails to compile on my machine (GCC 13):

../cper-utils.c: In function ‘add_untrusted_string’:
../cper-utils.c:467:23: error:

Ensure FRU text is printable ASCII

Currently, libcper currently fails to compile on my machine (GCC 13):

../cper-utils.c: In function ‘add_untrusted_string’:
../cper-utils.c:467:23: error: comparison is always false due to
limited range of data type [-Werror=type-limits]
467 | if (c < 0) {
| ^

The reason seems to be that char signedness is implementation-defined,
we have to explicitly use unsigned char or signed char to get a portable
char type. In our case, char is unsigned char, hence the warning.

Apparently we are trying to validate ASCII strings from the records.
Those strings seem to be used for display purpose only, so I think
replacing it with a more precise printable ASCII test, which also does
not care about char signedness, is appropriate here.

This changes the JSON fruText property to appear only with printable
ASCII FRU content. As a result, all of the examples have been changed
where applicable. Some sections use FRU content with a predefined format
(pcie, cxlprotocol) so fruText has been completely removed from those
JSON objects like in the case of non-printable ASCII FRU content.

Tested: oompile successfully

Change-Id: I98c7c10a674c8817e0b2cbe82c26f6590d8d716a
Signed-off-by: Khang D Nguyen <khangng@os.amperecomputing.com>

show more ...


/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/arm.cperhex
/openbmc/libcper/examples/arm.json
/openbmc/libcper/examples/ccixper.cperhex
/openbmc/libcper/examples/ccixper.json
/openbmc/libcper/examples/cxlcomponent-media.cperhex
/openbmc/libcper/examples/cxlcomponent-media.json
/openbmc/libcper/examples/cxlprotocol.json
/openbmc/libcper/examples/dmargeneric.cperhex
/openbmc/libcper/examples/dmargeneric.json
/openbmc/libcper/examples/dmariommu.cperhex
/openbmc/libcper/examples/dmariommu.json
/openbmc/libcper/examples/dmarvtd.cperhex
/openbmc/libcper/examples/dmarvtd.json
/openbmc/libcper/examples/firmware.cperhex
/openbmc/libcper/examples/firmware.json
/openbmc/libcper/examples/generic.cperhex
/openbmc/libcper/examples/generic.json
/openbmc/libcper/examples/ia32x64.cperhex
/openbmc/libcper/examples/ia32x64.json
/openbmc/libcper/examples/memory.cperhex
/openbmc/libcper/examples/memory.json
/openbmc/libcper/examples/memory2.cperhex
/openbmc/libcper/examples/memory2.json
/openbmc/libcper/examples/nvidia.cperhex
/openbmc/libcper/examples/nvidia.json
/openbmc/libcper/examples/pcibus.cperhex
/openbmc/libcper/examples/pcibus.json
/openbmc/libcper/examples/pcidev.json
/openbmc/libcper/examples/pcie.cperhex
/openbmc/libcper/examples/pcie.json
/openbmc/libcper/examples/unknown.cperhex
/openbmc/libcper/examples/unknown.json
/openbmc/libcper/generator/cper-generate.c
gen-section-arm.c
gen-section-generic.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/meson.build
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/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/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-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-vtd-dmar.json
/openbmc/libcper/tests/fuzz_cper_buf_to_ir.cpp
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
2d4d3b6511-Mar-2025 Ed Tanous <ed@tanous.net>

Fix randomizer

Relying on the system randomizer for unit tests leads to cases where we
don't get deterministic results, which causes inconsistent results.
These random results don't need to be secur

Fix randomizer

Relying on the system randomizer for unit tests leads to cases where we
don't get deterministic results, which causes inconsistent results.
These random results don't need to be secure, so reimplement as a simple
linear feedback shift register[1]. This makes our unit tests now
produce the same output every time we call generate.

Note, this change showed a weakness in our testing, where timestamps
relied on different rules for ir->cper versus cper->ir. hour 24 should
be allowed.

[1] https://en.wikipedia.org/wiki/Linear-feedback_shift_register

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

show more ...


/openbmc/libcper/OWNERS
/openbmc/libcper/base64.c
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/arm.cperhex
/openbmc/libcper/examples/ccixper.cperhex
/openbmc/libcper/examples/cxlcomponent-media.cperhex
/openbmc/libcper/examples/cxlprotocol.cperhex
/openbmc/libcper/examples/dmargeneric.cperhex
/openbmc/libcper/examples/dmariommu.cperhex
/openbmc/libcper/examples/dmarvtd.cperhex
/openbmc/libcper/examples/firmware.cperhex
/openbmc/libcper/examples/generic.cperhex
/openbmc/libcper/examples/ia32x64.cperhex
/openbmc/libcper/examples/memory.cperhex
/openbmc/libcper/examples/memory2.cperhex
/openbmc/libcper/examples/nvidia.cperhex
/openbmc/libcper/examples/pcibus.cperhex
/openbmc/libcper/examples/pcidev.cperhex
/openbmc/libcper/examples/pcie.cperhex
/openbmc/libcper/examples/unknown.cperhex
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-nvidia.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
/openbmc/libcper/include/libcper/BaseTypes.h
/openbmc/libcper/include/libcper/cper-parse.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/json-schema.h
/openbmc/libcper/include/libcper/log.h
/openbmc/libcper/include/libcper/sections/cper-section-ampere.h
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-nvidia.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/include/libcper/sections/cper-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/log.c
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/sections/cper-section-ampere.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-nvidia.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/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-generic-processor.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/tests/fuzz_cper_buf_to_ir.cpp
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
ae8f6d9a29-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 ...


/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
/openbmc/libcper/examples/arm.cper
/openbmc/libcper/examples/arm.json
/openbmc/libcper/examples/ccixper.cper
/openbmc/libcper/examples/ccixper.json
/openbmc/libcper/examples/cxlcomponent-media.cper
/openbmc/libcper/examples/cxlcomponent-media.json
/openbmc/libcper/examples/cxlprotocol.cper
/openbmc/libcper/examples/cxlprotocol.json
/openbmc/libcper/examples/dmargeneric.cper
/openbmc/libcper/examples/dmargeneric.json
/openbmc/libcper/examples/dmariommu.cper
/openbmc/libcper/examples/dmariommu.json
/openbmc/libcper/examples/dmarvtd.cper
/openbmc/libcper/examples/dmarvtd.json
/openbmc/libcper/examples/firmware.cper
/openbmc/libcper/examples/firmware.json
/openbmc/libcper/examples/generic.cper
/openbmc/libcper/examples/generic.json
/openbmc/libcper/examples/ia32x64.cper
/openbmc/libcper/examples/ia32x64.json
/openbmc/libcper/examples/memory.cper
/openbmc/libcper/examples/memory.json
/openbmc/libcper/examples/memory2.cper
/openbmc/libcper/examples/memory2.json
/openbmc/libcper/examples/nvidia.cper
/openbmc/libcper/examples/nvidia.json
/openbmc/libcper/examples/pcibus.cper
/openbmc/libcper/examples/pcibus.json
/openbmc/libcper/examples/pcidev.cper
/openbmc/libcper/examples/pcidev.json
/openbmc/libcper/examples/pcie.cper
/openbmc/libcper/examples/pcie.json
/openbmc/libcper/examples/unknown.cper
/openbmc/libcper/examples/unknown.json
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
gen-section-ampere.c
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-nvidia.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/cper-generate.h
/openbmc/libcper/include/libcper/generator/sections/gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/meson.build
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/specification/json/cper-json-header.json
/openbmc/libcper/specification/json/cper-json-section-descriptor.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-generic-processor.json
/openbmc/libcper/specification/json/sections/cper-ia32x64-processor.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/tests/ir-tests.cpp
/openbmc/libcper/tests/meson.build
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
a6f070bb04-Feb-2025 Aushim Nagarkatti <anagarkatti@nvidia.com>

Fix CPER generation of ASCII properties

If FRU string and CPU brand string are not ascii, they would be
generated as non UTF-8 entities, causing json parsers like nlohmann to
fail.

These properties

Fix CPER generation of ASCII properties

If FRU string and CPU brand string are not ascii, they would be
generated as non UTF-8 entities, causing json parsers like nlohmann to
fail.

These properties are defined as ASCII in the UEFI 2.10 spec.

Change-Id: Iba8056bf9855c5bcf07e0267efe47fb17da245a7
Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>

show more ...

30cd66aa18-Dec-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have b

clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version. A few parameters
in clang-tidy have been deprecated, so adjust the style file
accordingly.

See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style.
See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.

Change-Id: I32c52522ee18311ac09500950f82832102ccb5c0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-utils.c
gen-section-pcie.c
/openbmc/libcper/include/libcper/Cper.h
/openbmc/libcper/include/libcper/cper-parse.h
/openbmc/libcper/include/libcper/cper-utils.h
/openbmc/libcper/include/libcper/generator/gen-utils.h
/openbmc/libcper/include/libcper/meson.build
/openbmc/libcper/include/libcper/sections/cper-section-arm.h
/openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/include/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/include/libcper/sections/cper-section-firmware.h
/openbmc/libcper/include/libcper/sections/cper-section-generic.h
/openbmc/libcper/include/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/include/libcper/sections/cper-section-ipf.h
/openbmc/libcper/include/libcper/sections/cper-section-memory.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/include/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/include/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/specification/json/common/cper-json-error-status.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/sections/cper-arm-processor.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
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 ...


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

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
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
gen-section.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/meson.build
/openbmc/libcper/meson.options
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
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
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
gen-section.c
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
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-firmware.h
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-generic.h
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-ipf.h
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-memory.h
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/sections/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
8f97745724-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Switch to modular includes for generator.

Change-Id: Ie2926938912400b86c32733f04d59377c447c66c


/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/docs/OEMExtensions.md
/openbmc/libcper/generator/README.md
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/cper-generate.h
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
gen-section.c
gen-section.h
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/json-schema.h
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-ccix-per.h
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-component.h
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-cxl-protocol.h
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-generic.h
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-iommu.h
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-dmar-vtd.h
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-firmware.h
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-generic.h
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ia32x64.h
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-ipf.h
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-memory.h
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-bus.h
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/sections/cper-section-pcie.h
/openbmc/libcper/sections/cper-section.c
/openbmc/libcper/sections/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/cper-json.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
/openbmc/libcper/tests/test-utils.hpp
5f388a3f08-Aug-2022 Lawrence Tang <lawrence.tang@arm.com>

Fix minor generation bug, reformat CLI parsing.

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

Fix several review comments.


/openbmc/libcper/.clang-format
/openbmc/libcper/CMakeLists.txt
/openbmc/libcper/README.md
/openbmc/libcper/cli-app/cper-convert.c
/openbmc/libcper/common-utils.c
/openbmc/libcper/cper-parse.c
/openbmc/libcper/cper-parse.i
/openbmc/libcper/cper-utils.c
/openbmc/libcper/edk/BaseTypes.h
/openbmc/libcper/edk/Cper.c
/openbmc/libcper/generator/cper-generate-cli.c
/openbmc/libcper/generator/cper-generate.c
/openbmc/libcper/generator/gen-utils.c
gen-section-arm.c
gen-section-ccix-per.c
gen-section-cxl-component.c
gen-section-cxl-protocol.c
gen-section-dmar.c
gen-section-firmware.c
gen-section-generic.c
gen-section-ia32x64.c
gen-section-memory.c
gen-section-pci-bus.c
gen-section-pci-dev.c
gen-section-pcie.c
/openbmc/libcper/ir-parse.c
/openbmc/libcper/json-schema.c
/openbmc/libcper/sections/cper-section-arm.c
/openbmc/libcper/sections/cper-section-arm.h
/openbmc/libcper/sections/cper-section-ccix-per.c
/openbmc/libcper/sections/cper-section-cxl-component.c
/openbmc/libcper/sections/cper-section-cxl-protocol.c
/openbmc/libcper/sections/cper-section-dmar-generic.c
/openbmc/libcper/sections/cper-section-dmar-iommu.c
/openbmc/libcper/sections/cper-section-dmar-vtd.c
/openbmc/libcper/sections/cper-section-firmware.c
/openbmc/libcper/sections/cper-section-generic.c
/openbmc/libcper/sections/cper-section-ia32x64.c
/openbmc/libcper/sections/cper-section-ipf.c
/openbmc/libcper/sections/cper-section-memory.c
/openbmc/libcper/sections/cper-section-pci-bus.c
/openbmc/libcper/sections/cper-section-pci-dev.c
/openbmc/libcper/sections/cper-section-pci-dev.h
/openbmc/libcper/sections/cper-section-pcie.c
/openbmc/libcper/specification/document/cper-json-specification.tex
/openbmc/libcper/specification/json/sections/cper-ia32x64-processor.json
/openbmc/libcper/tests/ir-tests.cpp
/openbmc/libcper/tests/test-utils.cpp
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.

12