<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/include/lib/el3_runtime, 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-09-13T13:11:59Z</updated>
<entry>
<title>Refactor ARMv8.3 Pointer Authentication support code</title>
<updated>2019-09-13T13:11:59Z</updated>
<author>
<name>Alexei Fedorov</name>
</author>
<published>2019-09-13T13:11:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=ed108b56051de5da8024568a06781ce287e86c78'/>
<id>urn:sha1:ed108b56051de5da8024568a06781ce287e86c78</id>
<content type='text'>
This patch provides the following features and makes modifications
listed below:
- Individual APIAKey key generation for each CPU.
- New key generation on every BL31 warm boot and TSP CPU On event.
- Per-CPU storage of APIAKey added in percpu_data[]
  of cpu_data structure.
- `plat_init_apiakey()` function replaced with `plat_init_apkey()`
  which returns 128-bit value and uses Generic timer physical counter
  value to increase the randomness of the generated key.
  The new function can be used for generation of all ARMv8.3-PAuth keys
- ARMv8.3-PAuth specific code placed in `lib\extensions\pauth`.
- New `pauth_init_enable_el1()` and `pauth_init_enable_el3()` functions
  generate, program and enable APIAKey_EL1 for EL1 and EL3 respectively;
  pauth_disable_el1()` and `pauth_disable_el3()` functions disable
  PAuth for EL1 and EL3 respectively;
  `pauth_load_bl31_apiakey()` loads saved per-CPU APIAKey_EL1 from
  cpu-data structure.
- Combined `save_gp_pauth_registers()` function replaces calls to
  `save_gp_registers()` and `pauth_context_save()`;
  `restore_gp_pauth_registers()` replaces `pauth_context_restore()`
  and `restore_gp_registers()` calls.
- `restore_gp_registers_eret()` function removed with corresponding
  code placed in `el3_exit()`.
- Fixed the issue when `pauth_t pauth_ctx` structure allocated space
  for 12 uint64_t PAuth registers instead of 10 by removal of macro
  CTX_PACGAKEY_END from `include/lib/el3_runtime/aarch64/context.h`
  and assigning its value to CTX_PAUTH_REGS_END.
- Use of MODE_SP_ELX and MODE_SP_EL0 macro definitions
  in `msr	spsel`  instruction instead of hard-coded values.
- Changes in documentation related to ARMv8.3-PAuth and ARMv8.5-BTI.

Change-Id: Id18b81cc46f52a783a7e6a09b9f149b6ce803211
Signed-off-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
</content>
</entry>
<entry>
<title>Enable MTE support in both secure and non-secure worlds</title>
<updated>2019-09-09T15:23:33Z</updated>
<author>
<name>Justin Chadwell</name>
</author>
<published>2019-07-18T13:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=9dd94382bd23db0fa201b254dc3f1bebdfd627c2'/>
<id>urn:sha1:9dd94382bd23db0fa201b254dc3f1bebdfd627c2</id>
<content type='text'>
This patch adds support for the new Memory Tagging Extension arriving in
ARMv8.5. MTE support is now enabled by default on systems that support
at EL0. To enable it at ELx for both the non-secure and the secure
world, the compiler flag CTX_INCLUDE_MTE_REGS includes register saving
and restoring when necessary in order to prevent register leakage
between the worlds.

Change-Id: I2d4ea993d6b11654ea0d4757d00ca20d23acf36c
Signed-off-by: Justin Chadwell &lt;justin.chadwell@arm.com&gt;
</content>
</entry>
<entry>
<title>AArch64: Disable Secure Cycle Counter</title>
<updated>2019-08-21T14:43:24Z</updated>
<author>
<name>Alexei Fedorov</name>
</author>
<published>2019-08-13T14:17:53Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=e290a8fcbc836d51566da1607add8a320d0f1a20'/>
<id>urn:sha1:e290a8fcbc836d51566da1607add8a320d0f1a20</id>
<content type='text'>
This patch fixes an issue when secure world timing information
can be leaked because Secure Cycle Counter is not disabled.
For ARMv8.5 the counter gets disabled by setting MDCR_El3.SCCD
bit on CPU cold/warm boot.
For the earlier architectures PMCR_EL0 register is saved/restored
on secure world entry/exit from/to Non-secure state, and cycle
counting gets disabled by setting PMCR_EL0.DP bit.
'include\aarch64\arch.h' header file was tided up and new
ARMv8.5-PMU related definitions were added.

Change-Id: I6f56db6bc77504634a352388990ad925a69ebbfa
Signed-off-by: Alexei Fedorov &lt;Alexei.Fedorov@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.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>Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__</title>
<updated>2019-08-01T20:14:12Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2019-07-09T20:49:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=d5dfdeb65ff5b7f24dded201d2945c7b74565ce8'/>
<id>urn:sha1:d5dfdeb65ff5b7f24dded201d2945c7b74565ce8</id>
<content type='text'>
NOTE: __ASSEMBLY__ macro is now deprecated in favor of __ASSEMBLER__.

All common C compilers predefine a macro called __ASSEMBLER__ when
preprocessing a .S file. There is no reason for TF-A to define it's own
__ASSEMBLY__ macro for this purpose instead. To unify code with the
export headers (which use __ASSEMBLER__ to avoid one extra dependency),
let's deprecate __ASSEMBLY__ and switch the code base over to the
predefined standard.

Change-Id: Id7d0ec8cf330195da80499c68562b65cb5ab7417
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>Merge pull request #1751 from vwadekar/tegra-scatter-file-support</title>
<updated>2019-03-01T11:23:58Z</updated>
<author>
<name>Antonio Niño Díaz</name>
</author>
<published>2019-03-01T11:23:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=a4acc7f16500d7856f3317f8412665249da7e947'/>
<id>urn:sha1:a4acc7f16500d7856f3317f8412665249da7e947</id>
<content type='text'>
Tegra scatter file support</content>
</entry>
<entry>
<title>Minor changes to documentation and comments</title>
<updated>2019-02-28T13:35:21Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-02-28T13:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=73308618fee8afc4518c592956b31864e57e48e7'/>
<id>urn:sha1:73308618fee8afc4518c592956b31864e57e48e7</id>
<content type='text'>
Fix some typos and clarify some sentences.

Change-Id: Id276d1ced9a991b4eddc5c47ad9a825e6b29ef74
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>Tegra: Support for scatterfile for the BL31 image</title>
<updated>2019-02-27T16:33:35Z</updated>
<author>
<name>Varun Wadekar</name>
</author>
<published>2019-01-11T22:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=c2ad38ce4fe754c750f3db480f732ac280f508e4'/>
<id>urn:sha1:c2ad38ce4fe754c750f3db480f732ac280f508e4</id>
<content type='text'>
This patch provides support for using the scatterfile format as
the linker script with the 'armlink' linker for Tegra platforms.

In order to enable the scatterfile usage the following changes
have been made:

* provide mapping for ld.S symbols in bl_common.h
* include bl_common.h from all the affected files
* update the makefile rules to use the scatterfile and armlink
  to compile BL31
* update pubsub.h to add sections to the scatterfile

NOTE: THIS CHANGE HAS BEEN VERIFIED WITH TEGRA PLATFORMS ONLY.

Change-Id: I7bb78b991c97d74a842e5635c74cb0b18e0fce67
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Add ARMv8.3-PAuth registers to CPU context</title>
<updated>2019-02-27T11:08:59Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-01-31T11:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=5283962ebaf77850d68bb457608ede5174e43159'/>
<id>urn:sha1:5283962ebaf77850d68bb457608ede5174e43159</id>
<content type='text'>
ARMv8.3-PAuth adds functionality that supports address authentication of
the contents of a register before that register is used as the target of
an indirect branch, or as a load.

This feature is supported only in AArch64 state.

This feature is mandatory in ARMv8.3 implementations.

This feature adds several registers to EL1. A new option called
CTX_INCLUDE_PAUTH_REGS has been added to select if the TF needs to save
them during Non-secure &lt;-&gt; Secure world switches. This option must be
enabled if the hardware has the registers or the values will be leaked
during world switches.

To prevent leaks, this patch also disables pointer authentication in the
Secure world if CTX_INCLUDE_PAUTH_REGS is 0. Any attempt to use it will
be trapped in EL3.

Change-Id: I27beba9907b9a86c6df1d0c5bf6180c972830855
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>Cleanup context handling library</title>
<updated>2019-02-27T11:08:59Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-01-30T20:41:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=4d1ccf0ecc7d90df438148c633291723d095f979'/>
<id>urn:sha1:4d1ccf0ecc7d90df438148c633291723d095f979</id>
<content type='text'>
Minor style cleanup.

Change-Id: Ief19dece41a989e2e8157859a265701549f6c585
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
</feed>
