Skip to content

5259_arm_cca_measured_boot_v1_s3: Enable CCEL ACPI table parsing in Acpiview#12534

Open
samimujawar wants to merge 2 commits intotianocore:masterfrom
samimujawar:5259_arm_cca_measured_boot_v1_s3
Open

5259_arm_cca_measured_boot_v1_s3: Enable CCEL ACPI table parsing in Acpiview#12534
samimujawar wants to merge 2 commits intotianocore:masterfrom
samimujawar:5259_arm_cca_measured_boot_v1_s3

Conversation

@samimujawar
Copy link
Copy Markdown
Contributor

@samimujawar samimujawar commented Apr 30, 2026

Enable CCEL ACPI table parsing in Acpiview

This PR enhances the AcpiView command in ShellPkg by addressing parser scalability limitations and adding support for a new ACPI table.

Firstly, it increases the maximum number of supported ACPI table parsers from 32 to 128. This change resolves EFI_OUT_OF_RESOURCES failures encountered in RegisterParser() due to exhaustion of the parser list.

Secondly, it adds support for parsing the CCEL (Confidential Compute Event Log) ACPI table introduced in the ACPI 6.5 specification. A new parser is implemented and registered, enabling users to decode and inspect CCEL table contents from the UEFI Shell.

Note:

How This Was Tested

Only build tested. Actual functionality can only be tested when the remaining patches from PR #12224 are integrated in the future.

Integration Instructions

N/A

The RegisterParser() function is failing with error code
EFI_OUT_OF_RESOURCES as we have run out of space for
registering the ACPI table parsers in mTableParserList[].

Therefore, increase the MAX_ACPI_TABLE_PARSERS to 128.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
The ACPI 6.5 specification introduces the CCEL (CC Event Log) table
in section 5.2.34:
https://uefi.org/specs/ACPI/6.5/
05_ACPI_Software_Programming_Model.html#cc-event-log-acpi-table

Extend AcpiView with a parser to decode and display CCEL table
contents. This allows users to inspect CCEL tables from the UEFI
Shell.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Copy link
Copy Markdown
Contributor

@pierregondois pierregondois left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello Sami,
Just one small comment

PARSE_ACPI_HEADER (&AcpiHdrInfo),
{ L"CC Type", 1, 36, L"%d", NULL, NULL, NULL, NULL },
{ L"CC Subtype", 1, 37, L"%d", NULL, NULL, NULL, NULL },
{ L"Reserved", 2, 38, L"0x%x", NULL, NULL, NULL, NULL },
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT:
There is a generic DumpReserved() function and some other parsers validate the Reserved fields with a static ValidateResField() for instance.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack.
Actually ValidateResField () is local to ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Agdi/AgdiParser.c so would need to move to AcpiParser.c. Also it may need some fixing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants