<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/lib/extensions/amu, 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-05-24T13:44:45Z</updated>
<entry>
<title>Add support for Branch Target Identification</title>
<updated>2019-05-24T13:44:45Z</updated>
<author>
<name>Alexei Fedorov</name>
</author>
<published>2019-05-24T11:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=9fc59639e649f614318f78ae2ca103fe102405ec'/>
<id>urn:sha1:9fc59639e649f614318f78ae2ca103fe102405ec</id>
<content type='text'>
This patch adds the functionality needed for platforms to provide
Branch Target Identification (BTI) extension, introduced to AArch64
in Armv8.5-A by adding BTI instruction used to mark valid targets
for indirect branches. The patch sets new GP bit [50] to the stage 1
Translation Table Block and Page entries to denote guarded EL3 code
pages which will cause processor to trap instructions in protected
pages trying to perform an indirect branch to any instruction other
than BTI.
BTI feature is selected by BRANCH_PROTECTION option which supersedes
the previous ENABLE_PAUTH used for Armv8.3-A Pointer Authentication
and is disabled by default. Enabling BTI requires compiler support
and was tested with GCC versions 9.0.0, 9.0.1 and 10.0.0.
The assembly macros and helpers are modified to accommodate the BTI
instruction.
This is an experimental feature.
Note. The previous ENABLE_PAUTH build option to enable PAuth in EL3
is now made as an internal flag and BRANCH_PROTECTION flag should be
used instead to enable Pointer Authentication.
Note. USE_LIBROM=1 option is currently not supported.

Change-Id: Ifaf4438609b16647dc79468b70cd1f47a623362e
Signed-off-by: Alexei Fedorov &lt;Alexei.Fedorov@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>Fix MISRA defects in extension libs</title>
<updated>2018-10-29T14:41:48Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-10-25T15:52:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=40daecc1be51383c806c0ac953303e47026abcac'/>
<id>urn:sha1:40daecc1be51383c806c0ac953303e47026abcac</id>
<content type='text'>
No functional changes.

Change-Id: I2f28f20944f552447ac4e9e755493cd7c0ea1192
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>MISRA fixes for AMU/SPE and SVE</title>
<updated>2018-02-27T12:05:59Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-02-26T17:56:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=700efdd17c16d2c1c3143f3f10da7278075edcf6'/>
<id>urn:sha1:700efdd17c16d2c1c3143f3f10da7278075edcf6</id>
<content type='text'>
Change-Id: I38470528111410cf12b187eb1397d87b812c9416
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>aarch32: Fix multiple bugs in amu_helpers.S</title>
<updated>2018-02-27T12:05:59Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-02-20T12:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=edea5c124d30776563a84337b017f158529f694f'/>
<id>urn:sha1:edea5c124d30776563a84337b017f158529f694f</id>
<content type='text'>
AArch32 uses odd-even pairs when passing 64-bit arguments to
functions.  For example in `amu_group0_cnt_write_internal()` the
second argument is a uint64_t which is passed in r2 and r3.

In `amu_group1_set_evtype_internal()` the value that needs to be
written to the system register is in r1 not in r0.

Change-Id: I20196268fdb1dc9ef6c4ebe61e761fba9623b3f2
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>Assert that group0/group1 counter config is what we expect</title>
<updated>2018-02-27T12:05:59Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-02-20T11:16:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=e6e17ee8f17cc0e34bf681cc36e0954b6cf2e319'/>
<id>urn:sha1:e6e17ee8f17cc0e34bf681cc36e0954b6cf2e319</id>
<content type='text'>
Before suspend the AMU counters should be enabled and after resume
they should be disabled.  Assert that to be consistent with the
AArch64 implementation of `amu_context_{save,restore}()`.

Change-Id: Ia46f77e4062b93afb93721a2890a9b9d2a7f300e
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>AMU: Implement context save/restore for aarch32</title>
<updated>2018-01-31T14:08:22Z</updated>
<author>
<name>Joel Hutton</name>
</author>
<published>2017-12-21T15:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=c70da54631615da9981008e917621e65472b3042'/>
<id>urn:sha1:c70da54631615da9981008e917621e65472b3042</id>
<content type='text'>
Add amu_context_save() and amu_context_restore() functions for aarch32

Change-Id: I4df83d447adeaa9d9f203e16dc5a919ffc04d87a
Signed-off-by: Joel Hutton &lt;joel.hutton@arm.com&gt;
</content>
</entry>
<entry>
<title>AMU: Add assembler helper functions for aarch32</title>
<updated>2018-01-31T14:08:22Z</updated>
<author>
<name>Joel Hutton</name>
</author>
<published>2017-12-12T15:47:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=ce213b9622d229faded186bebc7fdaf947b516b6'/>
<id>urn:sha1:ce213b9622d229faded186bebc7fdaf947b516b6</id>
<content type='text'>
Change-Id: Id6dfe885a63561b1d2649521bd020367b96ae1af
Signed-off-by: Joel Hutton &lt;joel.hutton@arm.com&gt;
</content>
</entry>
<entry>
<title>AMU: Remove unnecessary WARN()</title>
<updated>2018-01-15T15:07:06Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2018-01-15T14:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=c6cc9ac33992e44b5b38e608a8687683db2d48c8'/>
<id>urn:sha1:c6cc9ac33992e44b5b38e608a8687683db2d48c8</id>
<content type='text'>
If AMU is not supported by the hardware but it is enabled in Trusted
Firmware, the console will be spammed with warnings every time a CPU
is brought up with a CPU ON call.

Remove the warning message as this is more in line with how other
extensions like SPE and SVE are handled.

Change-Id: Iba6d367e4d1375ab554d23d2eaceab3ae1362c5a
Signed-off-by: Dimitris Papastamos &lt;dimitris.papastamos@arm.com&gt;
</content>
</entry>
<entry>
<title>AMU: Add hooks to save/restore AMU context</title>
<updated>2018-01-11T14:36:45Z</updated>
<author>
<name>Dimitris Papastamos</name>
</author>
<published>2017-11-28T13:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=b6eb39327c5b009bc0bbecdb6867d8bf7c05f2fd'/>
<id>urn:sha1:b6eb39327c5b009bc0bbecdb6867d8bf7c05f2fd</id>
<content type='text'>
On some systems, the AMU counters might reset to 0 when a CPU
powerdown happens.  This behaviour conflicts with the intended
use-case of AMU as lower ELs are only expected to see non-decreasing
counter values.

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