[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