<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/lib/cpus/aarch64/cortex_a73.S, branch master</title>
<subtitle>Broadcom-s Trusted Firmware A</subtitle>
<id>https://git.openwrt.org/project/bcm63xx/atf/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/bcm63xx/atf/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/'/>
<updated>2019-02-28T12:01:13Z</updated>
<entry>
<title>Cortex-A73: Implement workaround for errata 852427</title>
<updated>2019-02-28T12:01:13Z</updated>
<author>
<name>Louis Mayencourt</name>
</author>
<published>2019-02-27T14:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=25278eaba7b93701e046a8215f84843674d4ca02'/>
<id>urn:sha1:25278eaba7b93701e046a8215f84843674d4ca02</id>
<content type='text'>
In AArch32, execution of 2 instructions with opposite condition code
might lead to either a data corruption or a CPU deadlock. Set the bit
12 of the Diagnostic Register to prevent this.

Change-Id: I22b4f25fe933e2942fd785e411e7c0aa39d5c1f4
Signed-off-by: Louis Mayencourt &lt;louis.mayencourt@arm.com&gt;
</content>
</entry>
<entry>
<title>Add workaround for errata 855423 of Cortex-A73</title>
<updated>2019-02-26T13:22:56Z</updated>
<author>
<name>Louis Mayencourt</name>
</author>
<published>2019-02-21T16:38:16Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=e6cab15dc710e2270d869c3fa76ed8d0d4943b66'/>
<id>urn:sha1:e6cab15dc710e2270d869c3fa76ed8d0d4943b66</id>
<content type='text'>
Broadcast maintainance operations might not be correctly synchronized
between cores. Set bit 7 of S3_0_C15_C0_2 to prevent this.

Change-Id: I67fb62c0b458d44320ebaedafcb8495ff26c814b
Signed-off-by: Louis Mayencourt &lt;louis.mayencourt@arm.com&gt;
</content>
</entry>
<entry>
<title>Sanitise includes across codebase</title>
<updated>2019-01-04T10:43:17Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-12-14T00:18:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=09d40e0e08283a249e7dce0e106c07c5141f9b7e'/>
<id>urn:sha1:09d40e0e08283a249e7dce0e106c07c5141f9b7e</id>
<content type='text'>
Enforce full include path for includes. Deprecate old paths.

The following folders inside include/lib have been left unchanged:

- include/lib/cpus/${ARCH}
- include/lib/el3_runtime/${ARCH}

The reason for this change is that having a global namespace for
includes isn't a good idea. It defeats one of the advantages of having
folders and it introduces problems that are sometimes subtle (because
you may not know the header you are actually including if there are two
of them).

For example, this patch had to be created because two headers were
called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform
to avoid collision."). More recently, this patch has had similar
problems: 46f9b2c3a282 ("drivers: add tzc380 support").

This problem was introduced in commit 4ecca33988b9 ("Move include and
source files to logical locations"). At that time, there weren't too
many headers so it wasn't a real issue. However, time has shown that
this creates problems.

Platforms that want to preserve the way they include headers may add the
removed paths to PLAT_INCLUDES, but this is discouraged.

Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>cpulib: Add ISBs or comment why they are unneeded</title>
<updated>2018-06-19T09:34:51Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-06-07T12:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=bd5a76ac7c21515ceb2b85a46de471416d2c83fa'/>
<id>urn:sha1:bd5a76ac7c21515ceb2b85a46de471416d2c83fa</id>
<content type='text'>
Change-Id: I18a41bb9fedda635c3c002a7f112578808410ef6
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Add support for dynamic mitigation for CVE-2018-3639</title>
<updated>2018-05-23T11:45:48Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-05-16T10:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=fe007b2e15ec7b569c07fedbd9bfccb5ed742eec'/>
<id>urn:sha1:fe007b2e15ec7b569c07fedbd9bfccb5ed742eec</id>
<content type='text'>
Some CPUS may benefit from using a dynamic mitigation approach for
CVE-2018-3639.  A new SMC interface is defined to allow software
executing in lower ELs to enable or disable the mitigation for their
execution context.

It should be noted that regardless of the state of the mitigation for
lower ELs, code executing in EL3 is always mitigated against
CVE-2018-3639.

NOTE: This change is a compatibility break for any platform using
the declare_cpu_ops_workaround_cve_2017_5715 macro.  Migrate to
the declare_cpu_ops_wa macro instead.

Change-Id: I3509a9337ad217bbd96de9f380c4ff8bf7917013
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Implement static workaround for CVE-2018-3639</title>
<updated>2018-05-23T11:45:48Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-04-05T13:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=b8a25bbb0bab4e4afdbfb04bee98f0bf28141c4b'/>
<id>urn:sha1:b8a25bbb0bab4e4afdbfb04bee98f0bf28141c4b</id>
<content type='text'>
For affected CPUs, this approach enables the mitigation during EL3
initialization, following every PE reset. No mechanism is provided to
disable the mitigation at runtime.

This approach permanently mitigates the entire software stack and no
additional mitigation code is required in other software components.

TF-A implements this approach for the following affected CPUs:

*   Cortex-A57 and Cortex-A72, by setting bit 55 (Disable load pass store) of
    `CPUACTLR_EL1` (`S3_1_C15_C2_0`).

*   Cortex-A73, by setting bit 3 of `S3_0_C15_C0_0` (not documented in the
    Technical Reference Manual (TRM)).

*   Cortex-A75, by setting bit 35 (reserved in TRM) of `CPUACTLR_EL1`
    (`S3_0_C15_C1_0`).

Additionally, a new SMC interface is implemented to allow software
executing in lower ELs to discover whether the system is mitigated
against CVE-2018-3639.

Refer to "Firmware interfaces for mitigating cache speculation
vulnerabilities System Software on Arm Systems"[0] for more
information.

[0] https://developer.arm.com/cache-speculation-vulnerability-firmware-specification

Change-Id: I084aa7c3bc7c26bf2df2248301270f77bed22ceb
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Rename symbols and files relating to CVE-2017-5715</title>
<updated>2018-05-23T11:45:48Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-04-06T14:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=2c3a10780df3317c004de74fbe85df53daab94e5'/>
<id>urn:sha1:2c3a10780df3317c004de74fbe85df53daab94e5</id>
<content type='text'>
This patch renames symbols and files relating to CVE-2017-5715 to make
it easier to introduce new symbols and files for new CVE mitigations.

Change-Id: I24c23822862ca73648c772885f1690bed043dbc7
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Fixup `SMCCC_ARCH_FEATURES` semantics</title>
<updated>2018-03-14T11:19:53Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-03-12T14:47:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=a205a56ea891c354c642713701075fec28906c40'/>
<id>urn:sha1:a205a56ea891c354c642713701075fec28906c40</id>
<content type='text'>
When querying `SMCCC_ARCH_WORKAROUND_1` through `SMCCC_ARCH_FEATURES`,
return either:
  * -1 to indicate the PE on which `SMCCC_ARCH_FEATURES` is called
    requires firmware mitigation for CVE-2017-5715 but the mitigation
    is not compiled in.
  * 0 to indicate that firmware mitigation is required, or
  * 1 to indicate that no firmware mitigation is required.

This patch complies with v1.2 of the firmware interfaces
specification (ARM DEN 0070A).

Change-Id: Ibc32d6620efdac6c340758ec502d95554a55f02a
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Use PFR0 to identify need for mitigation of CVE-2017-5715</title>
<updated>2018-03-14T11:15:44Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-03-12T13:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=3991a6a49f3cf8d0b30a2800428e60454e2f92dd'/>
<id>urn:sha1:3991a6a49f3cf8d0b30a2800428e60454e2f92dd</id>
<content type='text'>
If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that case skip the workaround on Cortex A72 and A73.

Change-Id: Ide24fb6efc77c548e4296295adc38dca87d042ee
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Print erratum application report for CVE-2017-5715</title>
<updated>2018-01-18T10:36:10Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-01-16T10:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=eec9e7d1e6ebb4c7e12687a55ae27ba9e481f7d9'/>
<id>urn:sha1:eec9e7d1e6ebb4c7e12687a55ae27ba9e481f7d9</id>
<content type='text'>
Even though the workaround for CVE-2017-5715 is not a CPU erratum, the
code is piggybacking on the errata framework to print whether the
workaround was applied, missing or not needed.

Change-Id: I821197a4b8560c73fd894cd7cd9ecf9503c72fa3
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
</feed>
