[edk2-devel] [edk2-platforms][PATCH 1/1] Platform/RPi/AcpiTables: Update all tables to latest ACPI
Pete Batard
pete at akeo.ie
Wed May 6 12:45:50 UTC 2020
On 2020.05.06 13:26, Ard Biesheuvel wrote:
> On 5/6/20 1:37 PM, Pete Batard wrote:
> ...
>> Therefore, since we do see a need for ACPI 6.x features, and
>> effectively have a 6.3 table with PPTT, and also since we have
>> tested that we are not seeing ill effects from doing so for the
>> most common OSes we support, we bring all of the relevant ACPI
>> tables to version 6.3.
>>
>> This is mostly accomplished by simply altering the version of
>> ACPI being references in the macros,
>
> OK, so even the macros that resolve to the exact same code are renamed.
> I suppose this means a blanket rename of everything once ACPI 6.4 comes
> out?
No.
I am considering that we are still in the process of introducing the
platform, therefore we introduce it with the most up to date version of
ACPI at that time.
Though I could see some point in doing so, I have no plan to update out
ACPI for the Pi's every time a new version is released, unless there is
an actual need to do so for a specific table or there is a blanket
request (from seeing lots of folks using our code as a starting point)
that warrants it.
In other words, even as RPi3 was introduced a year ago, I consider that
we are still in the process of adding RPi3/RPi4 as a brand new platform,
and therefore want to use the most up to date ACPI at the time of
introduction. But I'm definitely not making a point of trying to follow
ACPI updates past that this.
>
>> except for the new fields
>> being initialized in the MADT table where we:
>> * Use 1 for GICR Base Address in GICC_STRUCTURE_INIT because, even
>> as this field is not supposed to apply to any of our platforms,
>> this is what Microsoft used in the original Pi 3 hardcoded MADT
>> blobs and Windows 10 doesn't boot on the Pi 3 if set to 0.
>
> Fair enough.
>
>> * Use 2 for GIC version in GIC_DISTRIBUTOR_INIT, since the Pi 4 GIC
>> is v2 only.
>>
>
> OK. But you are introducing new references to ACPI_6_0 macros here. If
> the point is to rename everything for cosmetic reasons, shouldn't you
> use 6.3 there as well?
Well, EFI_ACPI_6_0_GIC_DISTRIBUTOR_INIT was not updated for 6_1, 6_2,
6_3 (most likely because the macro, which is defined in
EmbeddedPkg/Include/Library/AcpiLib.h applies the same for all 6.x
versions), so I just used the highest version I could find, which is
6_0. This is based on what I saw other platforms do.
I don't mind sending an EDK2 patch to add the various
EFI_ACPI_6_x_GIC_DISTRIBUTOR_INIT if that's what you request, but that
seems a bit like overkill and may break existing platforms, because it
will most likely require moving EFI_ACPI_6_0_GIC_DISTRIBUTOR_INIT to a
different header (MdePkg/Include/IndustryStandard/Acpi60.h).
Regards,
/Pete
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#58708): https://edk2.groups.io/g/devel/message/58708
Mute This Topic: https://groups.io/mt/74026589/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list