<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/lib/xlat_tables_v2, 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-10-18T09:26:34Z</updated>
<entry>
<title>xlat_table_v2: Fix enable WARMBOOT_ENABLE_DCACHE_EARLY config</title>
<updated>2019-10-18T09:26:34Z</updated>
<author>
<name>Artsem Artsemenka</name>
</author>
<published>2019-10-17T12:51:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=0e7a0540d728122913afbc99df4c4b87a19e8048'/>
<id>urn:sha1:0e7a0540d728122913afbc99df4c4b87a19e8048</id>
<content type='text'>
The WARMBOOT_ENABLE_DCACHE_EARLY allows caches to be turned on early during
the boot. But the xlat_change_mem_attributes_ctx() API did not do the required
cache maintenance after the mmap tables are modified if
WARMBOOT_ENABLE_DCACHE_EARLY is enabled. This meant that when the caches are turned
off during power down, the tables in memory are accessed as part of cache
maintenance for power down, and the tables are not correct at this point which
results in a data abort.
This patch removes the optimization within xlat_change_mem_attributes_ctx()
when WARMBOOT_ENABLE_DCACHE_EARLY is enabled.

Signed-off-by: Artsem Artsemenka &lt;artsem.artsemenka@arm.com&gt;
Change-Id: I82de3decba87dd13e9856b5f3620a1c8571c8d87
</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.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>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>SPM: Move shim layer to TTBR1_EL1</title>
<updated>2019-04-03T09:51:31Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-03-27T11:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=6de6965b2fcaffec01b2679118d16eabfde4d9c9'/>
<id>urn:sha1:6de6965b2fcaffec01b2679118d16eabfde4d9c9</id>
<content type='text'>
This gives each Secure Partition complete freedom on its address space.
Previously, the memory used by the exception vectors was reserved and
couldn't be used. Also, it always had to be mapped, forcing SPM to
generate translation tables that included the exception vectors as well
as the Partition memory regions. With this change, partitions can reduce
their address space size easily.

Change-Id: I67fb5e9bdf2870b73347f23bff702fab0a8f8711
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: Revert recent changes to remove recursion</title>
<updated>2019-03-19T14:56:00Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-03-19T14:12:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=f253645d690852e9bc5592c5c1a6d58137c33b48'/>
<id>urn:sha1:f253645d690852e9bc5592c5c1a6d58137c33b48</id>
<content type='text'>
This commit reverts the following commits:

- c54c7fc35842 ("xlat_tables_v2: print xlat tables without recursion")
- db8cac2d986a ("xlat_tables_v2: unmap region without recursion.")
- 0ffe269215bd ("xlat_tables_v2: map region without recursion.")

This was part of PR#1843.

A problem has been detected in one of our test run configurations
involving dynamic mapping of regions and it is blocking the next
release. Until the problem can be solved, it is safer to revert
the changes.

Change-Id: I3d5456e4dbebf291c8b74939c6fb02a912e0903b
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: print xlat tables without recursion</title>
<updated>2019-03-05T17:21:39Z</updated>
<author>
<name>David Pu</name>
</author>
<published>2019-02-25T18:52:41Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=c54c7fc358428daf69b4b118feb967afa60e998f'/>
<id>urn:sha1:c54c7fc358428daf69b4b118feb967afa60e998f</id>
<content type='text'>
This patch uses an array on stack to save parent xlat table information when
traversing the xlat tables. It keeps exactly same xlat table traversal
order compared to recursive version.

fixes arm-software/tf-issues#664

Signed-off-by: David Pu &lt;dpu@nvidia.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: unmap region without recursion.</title>
<updated>2019-03-05T17:21:39Z</updated>
<author>
<name>David Pu</name>
</author>
<published>2019-02-22T10:36:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=db8cac2d986a7e199343bd9385fa1221c50108c9'/>
<id>urn:sha1:db8cac2d986a7e199343bd9385fa1221c50108c9</id>
<content type='text'>
This patch uses an array on stack to save parent xlat table information when
traversing the xlat tables. It keeps exactly same xlat table traversal
order compared to recursive version.

fixes arm-software/tf-issues#664

Signed-off-by: David Pu &lt;dpu@nvidia.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: map region without recursion.</title>
<updated>2019-03-05T17:21:36Z</updated>
<author>
<name>David Pu</name>
</author>
<published>2019-02-22T10:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=0ffe269215bdbfc76621f187f0fa4576f37e9791'/>
<id>urn:sha1:0ffe269215bdbfc76621f187f0fa4576f37e9791</id>
<content type='text'>
This patch uses an array on stack to save parent xlat table information when
traversing the xlat tables. It keeps exactly same xlat table traversal
order compared to recursive version.

fixes arm-software/tf-issues#664

Signed-off-by: David Pu &lt;dpu@nvidia.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: find VA/idx with helper functions.</title>
<updated>2019-02-28T18:14:20Z</updated>
<author>
<name>David Pu</name>
</author>
<published>2019-02-22T10:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=e664b5b6ae1bdbbdfb381dfe77053ffd4df44771'/>
<id>urn:sha1:e664b5b6ae1bdbbdfb381dfe77053ffd4df44771</id>
<content type='text'>
This patch introduces 2 helper functions 'xlat_tables_find_start_va' and
'xlat_tables_va_to_index' to find the first VA and table index affected by the
specified mmap region. it reduces code duplication and cyclomatic code
complexity in xlat_tables_map/unmap_region functions.

Cyclomatic complexity calculated using 'Coverity'

fixes arm-software/tf-issues#673

Signed-off-by: David Pu &lt;dpu@nvidia.com&gt;
</content>
</entry>
<entry>
<title>xlat_tables_v2: get unmap action type with helper function.</title>
<updated>2019-02-28T17:58:16Z</updated>
<author>
<name>David Pu</name>
</author>
<published>2019-02-22T10:15:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=3ff6e401f9a43dd4f6a93c8af6e4cb83f93343b5'/>
<id>urn:sha1:3ff6e401f9a43dd4f6a93c8af6e4cb83f93343b5</id>
<content type='text'>
This patch introduces helper function 'xlat_tables_unmap_region_action'
to get the required action type from given arguments when unmapping the
specified region.
it reduces cyclomatic code complexity in xlat_tables_unmap_region function.

Cyclomatic complexity calculated using 'Coverity'

fixes arm-software/tf-issues#673

Signed-off-by: David Pu &lt;dpu@nvidia.com&gt;
</content>
</entry>
</feed>
