Annual "new somewhat interesting stuff in ACPI/UEFI/PI specs updates" thread, let's go. PI 1.8 is not published yet, so I'll add it when it be ready.🧵
[ACPI 6.4] A new ACPI system descriptor table 'SVKL', aka "Storage Volume Key Data table in the Intel Trusted Domain Extensions". Described and defined here among other things related to Intel TDX: software.intel.com/content/dam/de…
[ACPI 6.4] A new ACPI system descriptor table 'MPAM', aka "Arm Memory Partitioning And Monitoring". Should be defined and described in Arm DEN0065 document, but it's still in beta and not yet publicly available. This presentation has some hints: static.linaro.org/connect/lvc20/…
[ACPI 6.4] A new ACPI system descriptor table 'AEST' aka "Arm Error Source Table". Defined and described in Arm DEN0085 document: developer.arm.com/documentation/…
[ACPI 6.4] A new ACPI system descriptor table 'PRMT' aka "Platform Runtime Mechanism Table". Defined and described in PRM spec here: uefi.org/sites/default/…
A better replacement for dangerous and unpredictable SMM handlers, it would be *great* if IBVs and OEMs start using it.
[ACPI 6.4] A new ACPI system descriptor table 'PTDT' aka "Platform Telemetry Data Table" is mentioned in the changelog, but not defined in the document itself. CC @vincentzimmer for either adding the definition or removing it from changelog in errata A.
[ACPI 6.4] A new ACPI system descriptor table 'RGRT', aka "Regulatory Graphics Resource Table". Described and defined here: microsoft.github.io/mu/dyn/mu_plus…
"A PNG with the regulatory info. Could include FCC id, UL, Model number, or CMIIT ID, to be picked up by the OS later to display."
[ACPI 6.4] A new ACPI system descriptor table 'CEDT', aka "CXL Early Discovery Table". Defined in CXL 2.0 specification that requires registration to get access to. If you do not want to register, there's a definition in this UEFI Plugfest presentation: uefi.org/sites/default/…
[ACPI 6.4] 'DPPT' aka "DMA Protection Policy Table" reference added in ACPI 6.2 is now gone from the spec. There were no public documents defining it anyway, and I'm glad to see unused things removed.
[ACPI 6.4] Battery Charge Limiting capability is added to Battery Management chapter.
[ACPI 6.4] PCI Bar Target (Generic Address Structure Space with ID 0x06) is now defined in the spec.
[ACPI 6.4] A new ACPI system descriptor table 'PHAT', aka "Platform Health Assessment Table". Defined and described in the spec itself.
[ACPI 6.4] A new MADT entry type 0x10 - "Multiprocessor Wakeup Structure". Defined and described in the spec itself.
[ACPI 6.4] Added a previously missing definition of "ACPI_NAMESPACE_DEVICE based Secure Device Structure".
[ACPI 6.4] Added two new ACPI Device IDs: ACPI0015 for "USB4 Host Interface Device", ACPI0016 for "Compute Express Link Host Bridge".
[ACPI 6.4] Added definition of _OSC for USB4 devices.
[ACPI 6.4] Added definition of "Camera Serial Interface (CSI-2) Connection Resource Descriptor".
[ACPI 6.4] Added previously missing table to "Power, Performance, and Throttling State Dependencies" chapter.
[ACPI 6.4] PCCT table description extended to include "HW Registers based Communications Subspace Structure (Type 5)".
[ACPI 6.4] New ASL macro "CSI2Bus".
[ACPI 6.4] Already deprecated ASL "Processor" operator is removed for good.
That'll be all for ACPI 6.4, folks. There are definitely some minor changes that I've missed, and some other non-minor changes are hard to describe in a tweet (like ones in "Control Method Batteries" chapter). Will do UEFI 2.9 tomorrow. 🧵🔚
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Kind of late to the TPM2 bandwagon, but I wholeheartedly believe that making it a requirement for Win11 is not only a good idea by itself, but the only working way for MS to force IBVs/OEMs to implement the firmware drivers and flows for it correctly.
Optional security tech is automatically underprioritized and undertested, then too often never gets enabled correctly because of that. IRL it's either "enabled by default" or "doesn't work", especially when OS vendor A needs to rely on HW vendor B to do the right thing.
That right thing is indeed hard to do, and the UX of physical presence check for TPM reset is often bad, and the fact that BIOS updates often require key recovery procedures due to mismanaging the PCRs is really sad, but if not dragged along, vendors will do *nothing* about that.
UEFI specification 2.8 is out, will highlight some interesting (at least to me) changes and additions compared to the to the previous one - 2.7B. uefi.org/sites/default/…
New chapter on serial device identification and a corresponding update of SERIAL_IO_PROTOCOL to include DeviceTypeGuid.
Lots of additions related to REST and JSON: new EFI_REST_EX_PROTOCOL, a converter from JSON to C structures and back (EFI_REST_JSON_STRUCTURE), a new type of REST_STYLE_FORMSET that contains REST-configurable HII forms, JSON support for capsule update mechanism, etc.