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