<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Platform/RaspberryPi/AcpiTables/AcpiTables.h, 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/AcpiTables: Move PPTT constants to the alsc source</title>
<updated>2020-03-30T14:49:15+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-03-27T10:34:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=cdd63d10d5efaeec1cd5fa5f11a8353e4de832d7'/>
<id>urn:sha1:cdd63d10d5efaeec1cd5fa5f11a8353e4de832d7</id>
<content type='text'>
There's no real reason to have the PPTT constants factorized in
AcpiTables.h, and hiding them away with the interrupts is only
going to end up being counter-productive for folks trying to
understand or maintain the code.

Move these sections to Pptt.aslc where they belong.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>Platform/RPi/AcpiTables: Add Static PPTT tables</title>
<updated>2020-03-26T16:45:22+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>lintonrjeremy@gmail.com</email>
</author>
<published>2020-03-26T16:30:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=6beb1692b09b69c02811ee195e7a785d23141b57'/>
<id>urn:sha1:6beb1692b09b69c02811ee195e7a785d23141b57</id>
<content type='text'>
ACPI 6.2 adds a new table, which describes how processing units
are related to each other in tree like fashion. Caches are
also sprinkled throughout the tree and describe the properties
of the caches in relation to other caches and processing units.

Add a static PPTT table with one L2 cache and an L1I/L1D cache
for each of the 4 cores. The cache size/assc/policy/etc are from
the public docs.

The source from the aslc is derived from the one in:
Silicon/AMD/Styx/Drivers/AcpiPlatformDxe/Pptt.aslc

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>Platform/RPi/AcpiTables: Clean up ACPI IDs</title>
<updated>2020-03-26T12:34:49+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-03-26T11:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=c03fe68d0c0b80304480d1fa03ba0176787c61ba'/>
<id>urn:sha1:c03fe68d0c0b80304480d1fa03ba0176787c61ba</id>
<content type='text'>
Only apply the "BC2836" override to the one table that needs it for
Pi 3, instead of setting it globally.
Use more appropriate OEM and Vendor IDs for hardware that is
produced by the Raspberry Pi Foundation.
Ensure that the Pi 3 and Pi 4 have different OEM IDs.
Additionally fix a comment typo (MEMORY32SETBASE -&gt; MEMORY32FIXED).

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>Platform/RPi/AcpiTables: Fix Pi 4 interrupts values</title>
<updated>2020-03-26T12:34:36+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-03-26T11:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=f8b5562d0a963026086a444d083804792a8fe681'/>
<id>urn:sha1:f8b5562d0a963026086a444d083804792a8fe681</id>
<content type='text'>
Some of the Pi 4 interrupts were copied from Pi 3 and are incorrect.
We fix the ones that can be found by decompiling the official .dtbs.
We also add a couple more GPIO interrupts, that are used for both
the Pi 3 and the Pi 4, as per the dtbs.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&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>
