On 5/6/20 2:45 PM, Pete Batard wrote:
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.


Good.

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).


Fair enough.

Reviewed-by: Ard Biesheuvel <ard.biesheu...@arm.com>

Pushed as 66d1b02429fa..11189124fbc2




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58709): https://edk2.groups.io/g/devel/message/58709
Mute This Topic: https://groups.io/mt/74026589/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to