<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Platform/RaspberryPi/AcpiTables/Csrt.aslc, branch CodeCleanup</title>
<subtitle>EDK II sample platform branches and tags (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/'/>
<updated>2020-05-06T12:49:03+00:00</updated>
<entry>
<title>Platform/RPi/AcpiTables: Update all tables to latest ACPI</title>
<updated>2020-05-06T12:49:03+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-05-06T11:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=11189124fbc24aae0d8c96dd0bd24a78b430d8e0'/>
<id>urn:sha1:11189124fbc24aae0d8c96dd0bd24a78b430d8e0</id>
<content type='text'>
Because of its widespread availability and low price, we expect the
Raspberry Pi source to be used by platform developers as a starting
point to create their own platform implementation.

As such, it makes a lot of sense to want to use the most up to date
underlying standards, even if the pay off is limited in this case,
or may even be seen as a liability in terms of ensuring greater
compatibility with older OSes, as it may help others benefit from
the latest improvements and features brought by modern ACPI.

We also happen to already be using ACPI 6.3 constructs, such as
PPTT (which was only introduced in ACPI 6.2 and further extended
in 6.3), and have some reliance on 6.x GIC, as the original MADT
binary blobs from Microsoft were 6.0 and abuse the GICR Base
Address field in order for Windows to boot properly (for reasons
that the proprietary nature of the Windows kernel makes difficult
to determine). So in effect, we did apply a potential breaking
change to Windows when we downgraded MADT to ACPI 5.1, though we
did validate at the time that the downgrade in ACPI version didn't
*seem* to break OS functionality. Still, because we are in the
dark as to what the ACPI fields we removed when downgrading ACPI
version were being used for, we obviously want to add them back.

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, 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.
* Use 2 for GIC version in GIC_DISTRIBUTOR_INIT, since the Pi 4 GIC
  is v2 only.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@arm.com&gt;
</content>
</entry>
<entry>
<title>Platform/RPi: Factorize ACPI tables</title>
<updated>2020-03-02T11:12:51+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-02-28T10:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=e168252531c7ea73e4114358e022aa6953b6dc5a'/>
<id>urn:sha1:e168252531c7ea73e4114358e022aa6953b6dc5a</id>
<content type='text'>
With the ACPI source for the Pi 3 and Pi 4 being identical, we can
finally factorize it.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
</feed>
