<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/include/bl31, 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-08-01T20:14:12Z</updated>
<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-03.infra.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>BL31: Enable pointer authentication support</title>
<updated>2019-02-27T11:58:10Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2019-01-31T11:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=88cfd9a604cee29cc6536a43cd136b7eef0b78b9'/>
<id>urn:sha1:88cfd9a604cee29cc6536a43cd136b7eef0b78b9</id>
<content type='text'>
The size increase after enabling options related to ARMv8.3-PAuth is:

+----------------------------+-------+-------+-------+--------+
|                            |  text |  bss  |  data | rodata |
+----------------------------+-------+-------+-------+--------+
| CTX_INCLUDE_PAUTH_REGS = 1 |  +192 | +1536 |   +0  |   +0   |
|                            |  0.3% |  3.1% |       |        |
+----------------------------+-------+-------+-------+--------+
| ENABLE_PAUTH = 1           | +1848 | +1536 |  +16  |   +0   |
|                            |  3.3% |  3.1% |  3.1% |        |
+----------------------------+-------+-------+-------+--------+

Results calculated with the following build configuration:

    make PLAT=fvp SPD=tspd DEBUG=1 \
    SDEI_SUPPORT=1                 \
    EL3_EXCEPTION_HANDLING=1       \
    TSP_NS_INTR_ASYNC_PREEMPT=1    \
    CTX_INCLUDE_PAUTH_REGS=1       \
    ENABLE_PAUTH=1

Change-Id: I43db7e509a4f39da6599ec2faa690d197573ec1b
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@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-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>Standardise header guards across codebase</title>
<updated>2018-11-08T10:20:19Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-11-08T10:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=c3cf06f1a3a9b9ee8ac7a0ae505f95c45f7dca84'/>
<id>urn:sha1:c3cf06f1a3a9b9ee8ac7a0ae505f95c45f7dca84</id>
<content type='text'>
All identifiers, regardless of use, that start with two underscores are
reserved. This means they can't be used in header guards.

The style that this project is now to use the full name of the file in
capital letters followed by 'H'. For example, for a file called
"uart_example.h", the header guard is UART_EXAMPLE_H.

The exceptions are files that are imported from other projects:

- CryptoCell driver
- dt-bindings folders
- zlib headers

Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>Fix MISRA defects in BL31 common code</title>
<updated>2018-08-30T08:22:33Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-08-24T15:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=c9512bca3b69dcb50ac839ce1f6d24a68be46986'/>
<id>urn:sha1:c9512bca3b69dcb50ac839ce1f6d24a68be46986</id>
<content type='text'>
Change-Id: I5993b425445ee794e6d2a792c244c0af53640655
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>libc: Fix all includes in codebase</title>
<updated>2018-08-22T09:26:05Z</updated>
<author>
<name>Antonio Nino Diaz</name>
</author>
<published>2018-08-16T15:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=93c78ed231a6ea30f1c30ecbbb0f245fa9d75075'/>
<id>urn:sha1:93c78ed231a6ea30f1c30ecbbb0f245fa9d75075</id>
<content type='text'>
The codebase was using non-standard headers. It is needed to replace
them by the correct ones so that we can use the new libc headers.

Change-Id: I530f71d9510cb036e69fe79823c8230afe890b9d
Acked-by: Sumit Garg &lt;sumit.garg@linaro.org&gt;
Signed-off-by: Antonio Nino Diaz &lt;antonio.ninodiaz@arm.com&gt;
</content>
</entry>
<entry>
<title>EHF: MISRA fixes</title>
<updated>2018-08-20T08:05:39Z</updated>
<author>
<name>Jeenu Viswambharan</name>
</author>
<published>2018-08-02T09:14:12Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=03b645ed866a46a8762dfff20acc0bd35a54e34f'/>
<id>urn:sha1:03b645ed866a46a8762dfff20acc0bd35a54e34f</id>
<content type='text'>
These changes address most of the required MISRA rules. In the process,
some from generic code are also fixed.

No functional changes.

Change-Id: I19786070af7bc5e1f6d15bdba93e22a4451d8fe9
Signed-off-by: Jeenu Viswambharan &lt;jeenu.viswambharan@arm.com&gt;
</content>
</entry>
<entry>
<title>SDEI: MISRA fixes</title>
<updated>2018-08-20T08:05:39Z</updated>
<author>
<name>Jeenu Viswambharan</name>
</author>
<published>2018-08-02T09:14:12Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=ba6e5ca67160f3847b0e68a0f7bc16d12989f2b4'/>
<id>urn:sha1:ba6e5ca67160f3847b0e68a0f7bc16d12989f2b4</id>
<content type='text'>
These changes address most of the required MISRA rules. In the process,
some from generic code is also fixed.

No functional changes.

Change-Id: I6235a355e006f0b1c7c1c4d811b3964a64d0434f
Signed-off-by: Jeenu Viswambharan &lt;jeenu.viswambharan@arm.com&gt;
</content>
</entry>
<entry>
<title>RAS: Allow individual interrupt registration</title>
<updated>2018-05-04T07:33:17Z</updated>
<author>
<name>Jeenu Viswambharan</name>
</author>
<published>2017-12-12T10:34:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=ca6d9185829794f9d58dde706f94425a5c2cd9ef'/>
<id>urn:sha1:ca6d9185829794f9d58dde706f94425a5c2cd9ef</id>
<content type='text'>
EHF currently allows for registering interrupt handlers for a defined
priority ranges. This is primarily targeted at various EL3 dispatchers
to own ranges of secure interrupt priorities in order to delegate
execution to lower ELs.

The RAS support added by earlier patches necessitates registering
handlers based on interrupt number so that error handling agents shall
receive and handle specific Error Recovery or Fault Handling interrupts
at EL3.

This patch introduces a macro, RAS_INTERRUPTS() to declare an array of
interrupt numbers and handlers. Error handling agents can use this macro
to register handlers for individual RAS interrupts. The array is
expected to be sorted in the increasing order of interrupt numbers.

As part of RAS initialisation, the list of all RAS interrupts are sorted
based on their ID so that, given an interrupt, its handler can be looked
up with a simple binary search.

For an error handling agent that wants to handle a RAS interrupt,
platform must:

  - Define PLAT_RAS_PRI to be the priority of all RAS exceptions.

  - Enumerate interrupts to have the GIC driver program individual EL3
    interrupts to the required priority range. This is required by EHF
    even before this patch.

Documentation to follow.

Change-Id: I9471e4887ff541f8a7a63309e9cd8f771f76aeda
Signed-off-by: Jeenu Viswambharan &lt;jeenu.viswambharan@arm.com&gt;
</content>
</entry>
<entry>
<title>AArch64: Introduce RAS handling</title>
<updated>2018-05-04T07:33:17Z</updated>
<author>
<name>Jeenu Viswambharan</name>
</author>
<published>2018-04-04T15:07:11Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/bcm63xx/atf/commit/?id=14c6016ad5ff4ac22861dff03129a646ad02c6dd'/>
<id>urn:sha1:14c6016ad5ff4ac22861dff03129a646ad02c6dd</id>
<content type='text'>
RAS extensions are mandatory for ARMv8.2 CPUs, but are also optional
extensions to base ARMv8.0 architecture.

This patch adds build system support to enable RAS features in ARM
Trusted Firmware. A boolean build option RAS_EXTENSION is introduced for
this.

With RAS_EXTENSION, an Exception Synchronization Barrier (ESB) is
inserted at all EL3 vector entry and exit. ESBs will synchronize pending
external aborts before entering EL3, and therefore will contain and
attribute errors to lower EL execution. Any errors thus synchronized are
detected via. DISR_EL1 register.

When RAS_EXTENSION is set to 1, HANDLE_EL3_EA_FIRST must also be set to 1.

Change-Id: I38a19d84014d4d8af688bd81d61ba582c039383a
Signed-off-by: Jeenu Viswambharan &lt;jeenu.viswambharan@arm.com&gt;
</content>
</entry>
</feed>
