Mark Doron of Intel posted a message to the Linux-ACPI and Linux-Kernel lists, clarifying some spec deltas between ACPI 5.1a and 6.0, specificaly for the GIC structure. Most of Mark’s message is quoted verbatim below, see the Linux-ACPI list archives for the full post.
Watch this site for any 2016-dated specs, for an update: http://uefi.org/acpi
GIC version inconsistency in ACPI 5.1a versus 6.0 documents
I have been asked to post here on behalf of the UEFI Forum’s ACPI Spec Work Group (ASWG) to provide some clarification regarding the ACPI Specification versions 5.1a and 6.0. For those who may not know me, I am the Chair of this work group.
In particular it turns out that there are different definitions contained in the these two versions of the document for the GIC version field contained in the GIC Distributor Structure. This structure is located in Table 5-63 in both versions of the document. I am told this inconsistency is causing some problems for implementation work.
The inconsistency arises purely from an administrative error on our part as keepers of the ACPI Specification. I want to apologize to anyone who has been inconvenienced by this issue.
The sharp-eyed may notice that the dates on the covers of the two versions are the same. The Forum’s normal practice when making a new revision is to re-publish the prior version with all known errata included so that the content that is common between the existing and new documents matches. This accounts for the two documents having the same date; in fact they were published on the exact same day at the same time.
In the case of this one particular structure definition, as shown in Table 5-63, the content was corrected to match what it should say in the 6.0 version of the document. Unfortunately we messed up and the same fix was not properly retrofitted to the ACPI 5.1 spec to be included with the 5.1a (latest errata included version of 5.1 that was released at the same time as 6.0).
Now this inconsistency has been pointed out, the UEFI Forum will publish a revised version 5.1b that will incorporate a fix for this problem. This will however take a little time to organize so it may be some days before that updated document appears on the Forum’s public web site.
Since it was felt that this issue is causing friction for implementation work going on right now, the Work Group asked that I post the above explanation and mitigation as well as the following recommendation to help move implementation work ahead without delay.
The recommendation from the UEFI Forum in this case then is:
– For implementation purposes, the definition in the ACPI 5.1a for the GIC version field that is part of the GIC Distributor Structure (Table 5-63) is incorrect and instead implementers should refer to the corresponding sections of the ACPI 6.0 Specification (the Table to refer to is numbered the same in both documents). The inconsistency will be corrected shortly with the release of a revised ACPI Spec 5.1b update.
For the avoidance of doubt, this means that implementers seeking to conform to the ACPI 5.1 specification should implement to the ACPI 5.1a in every particular except for the above referenced GIC version field which should follow the definition contained in the ACPI 6.0 version of the specification. This advice holds true until a revised ACPI 5.1b is published at which time there will be no inconsistency.