<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/lib/locks, branch master</title>
<subtitle>Broadcom-s Trusted Firmware A</subtitle>
<id>https://git-03.infra.openwrt.org/project/bcm63xx/atf/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/'/>
<updated>2019-10-04T08:19:35Z</updated>
<entry>
<title>Fix the CAS spinlock implementation</title>
<updated>2019-10-04T08:19:35Z</updated>
<author>
<name>Soby Mathew</name>
</author>
<published>2019-09-25T13:03:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=c97cba4ea44910df1f7b1af5dba79013fb44c383'/>
<id>urn:sha1:c97cba4ea44910df1f7b1af5dba79013fb44c383</id>
<content type='text'>
Make the spinlock implementation use ARMv8.1-LSE CAS instruction based
on a platform build option. The CAS-based implementation used to be
unconditionally selected for all ARM8.1+ platforms.

The previous CAS spinlock implementation had a bug wherein the spin_unlock()
implementation had an `sev` after `stlr` which is not sufficient. A dsb is
needed to ensure that the stlr completes prior to the sev. Having a dsb is
heavyweight and a better solution would be to use load exclusive semantics
to monitor the lock and wake up from wfe when a store happens to the lock.
The patch implements the same.

Change-Id: I5283ce4a889376e4cc01d1b9d09afa8229a2e522
Signed-off-by: Soby Mathew &lt;soby.mathew@arm.com&gt;
Signed-off-by: Olivier Deprez &lt;olivier.deprez@arm.com&gt;
</content>
</entry>
<entry>
<title>Switch AARCH32/AARCH64 to __aarch64__</title>
<updated>2019-08-01T20:45:03Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2019-07-09T21:02:43Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=402b3cf8766fe2cb4ae462f7ee7761d08a1ba56c'/>
<id>urn:sha1:402b3cf8766fe2cb4ae462f7ee7761d08a1ba56c</id>
<content type='text'>
NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.

All common C compilers pre-define the same macros to signal which
architecture the code is being compiled for: __arm__ for AArch32 (or
earlier versions) and __aarch64__ for AArch64. There's no need for TF-A
to define its own custom macros for this. In order to unify code with
the export headers (which use __aarch64__ to avoid another dependency),
let's deprecate the AARCH32 and AARCH64 macros and switch the code base
over to the pre-defined standard macro. (Since it is somewhat
unintuitive that __arm__ only means AArch32, let's standardize on only
using __aarch64__.)

Change-Id: Ic77de4b052297d77f38fc95f95f65a8ee70cf200
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>Remove .arch directives from spinlock.S</title>
<updated>2019-05-13T08:50:27Z</updated>
<author>
<name>Alexei Fedorov</name>
</author>
<published>2019-05-10T15:55:16Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=02a85c1116369488784c5ed4d67f326c22455e94'/>
<id>urn:sha1:02a85c1116369488784c5ed4d67f326c22455e94</id>
<content type='text'>
This patch removes .arch "arm8.1-a" and "armv8-a"
directives which overwrite ASFLAGS_aarch64 option based
on ARM_ARCH_MINOR passed to Makefile and cause
translation errors like
"selected processor does not support `bti jc'"
for armv8.5-a targets when BTI support is enabled.

Change-Id: Idca5b66ed1e5d86e2188b0c0f16c3819990957c4
Signed-off-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
</content>
</entry>
<entry>
<title>locks: linker variables to calculate per-cpu bakery lock size</title>
<updated>2019-02-07T17:00:52Z</updated>
<author>
<name>Varun Wadekar</name>
</author>
<published>2019-01-30T16:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=596929b971dc4366a490d5909a265c038502d284'/>
<id>urn:sha1:596929b971dc4366a490d5909a265c038502d284</id>
<content type='text'>
This patch introduces explicit linker variables to mark the start and
end of the per-cpu bakery lock section to help bakery_lock_normal.c
calculate the size of the section. This patch removes the previously
used '__PERCPU_BAKERY_LOCK_SIZE__' linker variable to make the code
uniform across GNU linker and ARM linker.

Change-Id: Ie0c51702cbc0fe8a2076005344a1fcebb48e7cca
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.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-03.infra.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>bakery: Fix MISRA defects</title>
<updated>2018-11-01T14:15:39Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-10-31T15:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=f8b30ca89b3e3a09d96019bf3998255a3f7a4c8a'/>
<id>urn:sha1:f8b30ca89b3e3a09d96019bf3998255a3f7a4c8a</id>
<content type='text'>
Change-Id: I600bc13522ae977db355b6dc5a1695bce39ec130
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>Remove all other deprecated interfaces and files</title>
<updated>2018-09-28T14:31:53Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-09-25T08:39:51Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=fe199e3bac38cc824a280ec35b7d55b6dae9a9ca'/>
<id>urn:sha1:fe199e3bac38cc824a280ec35b7d55b6dae9a9ca</id>
<content type='text'>
Change-Id: Icd1cdd42afdc78895a9be6c46b414b0a155cfa63
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>Add missing barriers to Bakery Locks</title>
<updated>2018-09-05T13:39:14Z</updated>
<author>
<name>Jeenu Viswambharan</name>
</author>
<published>2018-08-08T13:10:55Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=24dc97091532751ea810e99bd5a9be33514decf6'/>
<id>urn:sha1:24dc97091532751ea810e99bd5a9be33514decf6</id>
<content type='text'>
With the current implementation, it's possible for a contender to
observe accesses in the Critical Section before acquiring or releasing
the lock. Insert fencing in the locking and release codes to prevent any
reorder.

Fixes ARM-software/tf-issues#609

Change-Id: I773b82aa41dd544a2d3dbacb9a4b42c9eb767bbb
Signed-off-by: Jeenu Viswambharan &lt;jeenu.viswambharan@arm.com&gt;
</content>
</entry>
<entry>
<title>Fix MISRA Rule 5.3 Part 4</title>
<updated>2018-06-12T12:21:36Z</updated>
<author>
<name>Daniel Boulby</name>
</author>
<published>2018-05-09T10:29:07Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=7cb81945d5007925c59f68150ede7a20dba41e6c'/>
<id>urn:sha1:7cb81945d5007925c59f68150ede7a20dba41e6c</id>
<content type='text'>
Use a _ prefix for macro arguments to prevent that argument from
hiding variables of the same name in the outer scope

Rule 5.3: An identifier declared in an inner scope shall not
          hide an identifier declared in an outer scope

Fixed For:
    make PLAT=fvp USE_COHERENT_MEM=0

Change-Id: If50c583d3b63799ee6852626b15be00c0f6b10a0
Signed-off-by: Daniel Boulby &lt;daniel.boulby@arm.com&gt;
</content>
</entry>
<entry>
<title>Fix MISRA Rule 5.3 Part 2</title>
<updated>2018-06-12T12:21:36Z</updated>
<author>
<name>Daniel Boulby</name>
</author>
<published>2018-05-04T13:04:07Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=896a5902ecd9f8ffd1ad7cfd75ea646351c79fc1'/>
<id>urn:sha1:896a5902ecd9f8ffd1ad7cfd75ea646351c79fc1</id>
<content type='text'>
Use a _ prefix for Macro arguments to prevent that argument from
hiding variables of the same name in the outer scope

Rule 5.3: An identifier declared in an inner scope shall not
          hide an identifier declared in an outer scope

Fixed For:
    make LOG_LEVEL=50 PLAT=fvp

Change-Id: I67b6b05cbad4aeca65ce52981b4679b340604708
Signed-off-by: Daniel Boulby &lt;daniel.boulby@arm.com&gt;
</content>
</entry>
</feed>
