History log of /openbmc/libcper/examples/pcie.cperhex (Results 1 – 3 of 3)
Revision Date Author Comments
# 8870c074 28-Feb-2025 Erwin Tsaur <etsaur@nvidia.com>

PCIe CPER Section Enhancement

This commit improves PCIe error reporting capabilities by:
- Adding support for PCIe capability version detection and parsing
- Expanding Advanced Error Reporting infor

PCIe CPER Section Enhancement

This commit improves PCIe error reporting capabilities by:
- Adding support for PCIe capability version detection and parsing
- Expanding Advanced Error Reporting information extraction

The changes include:
- New capability_registers structure to decode PCIe capability registers
- Updated PCIe JSON Schema to match
- Support for PCIe 2.0+ extended registers when detected
- Improved error source identification and root error status reporting
- Fix typo for Advanced Error Reporting capabilit[i]es_control
- Updated generate/gen-section-pcie.c and pcie.json example

In the future we could:
- Implement TLP header log parsing with detailed descriptions
- Add support for Flit mode in PCIe 2.0+ devices

Tested:
- test/cper-tests passes
- cper-convert to-json|to-cper on pcie.cper|json in example path
- Tested "cper-convert to-json-section" using an extracted OS GHES PCIE
CPER from error injection and compare against expected values

Note, schema validation is intentionally less restrictive than it could
be for pcie advanced error reporting as it evolves.

Change-Id: Ifebb9d97d28a3a487a0aab53bf9e757afeedd64a
Signed-off-by: Erwin Tsaur <etsaur@nvidia.com>
Signed-off-by: Ed Tanous <etanous@nvidia.com>

show more ...


# bd1814de 31-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 ...


# a2dce4bc 05-Mar-2025 Ed Tanous <etanous@nvidia.com>

Convert files to hex

It was pointed out in code review these files would be easier to review
diffs on if they were in hex format on disk. This commit converts all
the existing files to "cperhex" wh

Convert files to hex

It was pointed out in code review these files would be easier to review
diffs on if they were in hex format on disk. This commit converts all
the existing files to "cperhex" which is cper in hex hexadecimal format
using the command 'xxd -p -l 64'

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

show more ...