PPTT improvements for newer specs

Bug #1927479 reported by Jeremy Linton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Firmware Test Suite
Opinion
Undecided
Alex Hung

Bug Description

The existing PPTT tests seems to be unaware of the fields defined by the newer specifications. That includes "processor is a thread", "node is a leaf", "identical implementation" as well "Cache ID" on the cache structure.

Ideally the test suite should also validate that "node is a leaf" actually is a leaf node in the tree, and that the "Cache ID" is unique when the nodes are walked as a tree (rather than linearly where its possible a single node represents multiple cache instances in the tree).

Thanks,

Alex Hung (alexhung)
Changed in fwts:
assignee: nobody → Alex Hung (alexhung)
status: New → In Progress
Revision history for this message
Alex Hung (alexhung) wrote :

Hi Jeremy,

Will you be able to provide a sample PPTT table as a reference? You can dump ACPI tables by "sudo acpidump > acpi.log"

Revision history for this message
Jeremy Linton (jrlinton) wrote :

Yes, there are a number in the edk2-platforms repo which are fairly recent. The rpi4 table comes to mind https://github.com/tianocore/edk2-platforms/blob/master/Platform/RaspberryPi/AcpiTables/Pptt.aslc

There is a multi threaded example here: https://github.com/tianocore/edk2-platforms/blob/master/Platform/ARM/SgiPkg/AcpiTables/RdE1Edge/Pptt.aslc

Those are 6.3 tables, I'm not yet aware of a 6.4 compatible table with the cache id set.

As I'm sure your aware, these can be built and picked up out of the edk2 build artifacts without the machine/etc, although some of the examples in edk2-platforms are runtime modified. If you need any help with that for a given machine i may be able to provide them, just mention the machine/etc (offline is fine).

OTOH, a lot of the interest here came up over a conversation about linux support for the 6.4 cache id and assuring its unique for a given machine, so that is important despite the lack of an existing table. It should be fairly easy to hack up one of the existing ones as an example if needed as they are in source form.

Revision history for this message
Alex Hung (alexhung) wrote :

Hi Jeremy,

It would be nice if you can provide them in asl formats instead of aslc formats. They don't need to be from runtime. All I need is something can be compiled by iasl to a binary.

Revision history for this message
Jeremy Linton (jrlinton) wrote :

Hi,

Yes building edk2 can be a bit of a pain, i've got a build env setup, so I built the rde1edge table, and picked the rpi4 off a live device. Both are encoded in binary and dsl forms in the attached tar.gz.

Alex Hung (alexhung)
Changed in fwts:
status: In Progress → Opinion
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.