History log of /rk3399_ARM-atf/include/ (Results 2951 – 2975 of 3957)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
30d81c3607-Dec-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

RAS: Add helpers to access Standard Error Records

The ARMv8 RAS Extensions introduced Standard Error Records which are a
set of standard registers through which:

- Platform can configure RAS node

RAS: Add helpers to access Standard Error Records

The ARMv8 RAS Extensions introduced Standard Error Records which are a
set of standard registers through which:

- Platform can configure RAS node policy; e.g., notification
mechanism;

- RAS nodes can record and expose error information for error handling
agents.

Standard Error Records can either be accessed via. memory-mapped
or System registers. This patch adds helper functions to access
registers and fields within an error record.

Change-Id: I6594ba799f4a1789d7b1e45b3e17fd40e7e0ba5c
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

14c6016a04-Apr-2018 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

AArch64: Introduce RAS handling

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 feat

AArch64: Introduce RAS handling

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 <jeenu.viswambharan@arm.com>

show more ...

76454abf30-Nov-2017 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

AArch64: Introduce External Abort handling

At present, any External Abort routed to EL3 is reported as an unhandled
exception and cause a panic. This patch enables ARM Trusted Firmware to
handle Ext

AArch64: Introduce External Abort handling

At present, any External Abort routed to EL3 is reported as an unhandled
exception and cause a panic. This patch enables ARM Trusted Firmware to
handle External Aborts routed to EL3.

With this patch, when an External Abort is received at EL3, its handling
is delegated to plat_ea_handler() function. Platforms can provide their
own implementation of this function. This patch adds a weak definition
of the said function that prints out a message and just panics.

In order to support handling External Aborts at EL3, the build option
HANDLE_EA_EL3_FIRST must be set to 1.

Before this patch, HANDLE_EA_EL3_FIRST wasn't passed down to
compilation; this patch fixes that too.

Change-Id: I4d07b7e65eb191ff72d63b909ae9512478cd01a1
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>

show more ...

0c487ea402-May-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

smccc: Fix checkpatch error in header file

Change-Id: Ice141dcc17f504025f922acace94d98f84acba9e
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

c853dc7e01-May-2018 danh-arm <dan.handley@arm.com>

Merge pull request #1363 from antonio-nino-diaz-arm/an/res1-ap

xlat: Set AP[1] to 1 when it is RES1

0522c1e701-May-2018 danh-arm <dan.handley@arm.com>

Merge pull request #1360 from antonio-nino-diaz-arm/an/smccc-v2

Add support for the SMC Calling Convention 2.0

638b034c05-Jan-2018 Roberto Vargas <roberto.vargas@arm.com>

ARM platforms: Demonstrate mem_protect from el3_runtime

Previously mem_protect used to be only supported from BL2. This is not
helpful in the case when ARM TF-A BL2 is not used. This patch demonstra

ARM platforms: Demonstrate mem_protect from el3_runtime

Previously mem_protect used to be only supported from BL2. This is not
helpful in the case when ARM TF-A BL2 is not used. This patch demonstrates
mem_protect from el3_runtime firmware on ARM Platforms specifically
when RESET_TO_BL31 or RESET_TO_SP_MIN flag is set as BL2 may be absent
in these cases. The Non secure DRAM is dynamically mapped into EL3 mmap
tables temporarily and then the protected regions are then cleared. This
avoids the need to map the non secure DRAM permanently to BL31/sp_min.

The stack size is also increased, because DYNAMIC_XLAT_TABLES require
a bigger stack.

Change-Id: Ia44c594192ed5c5adc596c0cff2c7cc18c001fde
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...

0a2d5b4302-Feb-2018 Masahiro Yamada <yamada.masahiro@socionext.com>

types: use int-ll64 for both aarch32 and aarch64

Since commit 031dbb122472 ("AArch32: Add essential Arch helpers"),
it is difficult to use consistent format strings for printf() family
between aarch

types: use int-ll64 for both aarch32 and aarch64

Since commit 031dbb122472 ("AArch32: Add essential Arch helpers"),
it is difficult to use consistent format strings for printf() family
between aarch32 and aarch64.

For example, uint64_t is defined as 'unsigned long long' for aarch32
and as 'unsigned long' for aarch64. Likewise, uintptr_t is defined
as 'unsigned int' for aarch32, and as 'unsigned long' for aarch64.

A problem typically arises when you use printf() in common code.

One solution could be, to cast the arguments to a type long enough
for both architectures. For example, if 'val' is uint64_t type,
like this:

printf("val = %llx\n", (unsigned long long)val);

Or, somebody may suggest to use a macro provided by <inttypes.h>,
like this:

printf("val = %" PRIx64 "\n", val);

But, both would make the code ugly.

The solution adopted in Linux kernel is to use the same typedefs for
all architectures. The fixed integer types in the kernel-space have
been unified into int-ll64, like follows:

typedef signed char int8_t;
typedef unsigned char uint8_t;

typedef signed short int16_t;
typedef unsigned short uint16_t;

typedef signed int int32_t;
typedef unsigned int uint32_t;

typedef signed long long int64_t;
typedef unsigned long long uint64_t;

[ Linux commit: 0c79a8e29b5fcbcbfd611daf9d500cfad8370fcf ]

This gets along with the codebase shared between 32 bit and 64 bit,
with the data model called ILP32, LP64, respectively.

The width for primitive types is defined as follows:

ILP32 LP64
int 32 32
long 32 64
long long 64 64
pointer 32 64

'long long' is 64 bit for both, so it is used for defining uint64_t.
'long' has the same width as pointer, so for uintptr_t.

We still need an ifdef conditional for (s)size_t.

All 64 bit architectures use "unsigned long" size_t, and most 32 bit
architectures use "unsigned int" size_t. H8/300, S/390 are known as
exceptions; they use "unsigned long" size_t despite their architecture
is 32 bit.

One idea for simplification might be to define size_t as 'unsigned long'
across architectures, then forbid the use of "%z" string format.
However, this would cause a distortion between size_t and sizeof()
operator. We have unknowledge about the native type of sizeof(), so
we need a guess of it anyway. I want the following formula to always
return 1:

__builtin_types_compatible_p(size_t, typeof(sizeof(int)))

Fortunately, ARM is probably a majority case. As far as I know, all
32 bit ARM compilers use "unsigned int" size_t.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

show more ...

8f4dbaab02-Feb-2018 Masahiro Yamada <yamada.masahiro@socionext.com>

arch_helpers: use u_register_t for register read/write

u_register_t is preferred rather than uint64_t. This is more
consistent with the aarch32 implementation.

Signed-off-by: Masahiro Yamada <yama

arch_helpers: use u_register_t for register read/write

u_register_t is preferred rather than uint64_t. This is more
consistent with the aarch32 implementation.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

show more ...

01c0a38e26-Apr-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

xlat: Set AP[1] to 1 when it is RES1

According to the ARMv8 ARM issue C.a:

AP[1] is valid only for stage 1 of a translation regime that can
support two VA ranges. It is RES 1 when stage 1 t

xlat: Set AP[1] to 1 when it is RES1

According to the ARMv8 ARM issue C.a:

AP[1] is valid only for stage 1 of a translation regime that can
support two VA ranges. It is RES 1 when stage 1 translations can
support only one VA range.

This means that, even though this bit is ignored, it should be set to 1
in the EL3 and EL2 translation regimes.

For translation regimes consisting on EL0 and a higher regime this bit
selects between control at EL0 or at the higher Exception level. The
regimes that support two VA ranges are EL1&0 and EL2&0 (the later one
is only available since ARMv8.1).

This fix has to be applied to both versions of the translation tables
library.

Change-Id: If19aaf588551bac7aeb6e9a686cf0c2068e7c181
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

2f37046523-Apr-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Add support for the SMC Calling Convention 2.0

Due to differences in the bitfields of the SMC IDs, it is not possible
to support SMCCC 1.X and 2.0 at the same time.

The behaviour of `SMCCC_MAJOR_VE

Add support for the SMC Calling Convention 2.0

Due to differences in the bitfields of the SMC IDs, it is not possible
to support SMCCC 1.X and 2.0 at the same time.

The behaviour of `SMCCC_MAJOR_VERSION` has changed. Now, it is a build
option that specifies the major version of the SMCCC that the Trusted
Firmware supports. The only two allowed values are 1 and 2, and it
defaults to 1. The value of `SMCCC_MINOR_VERSION` is derived from it.

Note: Support for SMCCC v2.0 is an experimental feature to enable
prototyping of secure partition specifications. Support for this
convention is disabled by default and could be removed without notice.

Change-Id: I88abf9ccf08e9c66a13ce55c890edea54d9f16a7
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...

336ece6a18-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1357 from antonio-nino-diaz-arm/an/fix-misra

Fix some MISRA defects in SPM code


common/runtime_svc.h
lib/aarch64/arch.h
lib/smccc.h
lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/plat/arm/css/common/css_common.mk
/rk3399_ARM-atf/plat/arm/css/common/sp_min/css_sp_min.mk
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu.h
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.c
/rk3399_ARM-atf/plat/arm/css/drivers/mhu/css_mhu_doorbell.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi.h
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_common.c
/rk3399_ARM-atf/plat/arm/css/drivers/scmi/scmi_private.h
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_bom_bootloader.c
/rk3399_ARM-atf/plat/arm/css/drivers/scp/css_pm_scmi.c
/rk3399_ARM-atf/plat/arm/css/drivers/scpi/css_scpi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_def.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
b3323cd617-Apr-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

Fix some MISRA defects in SPM code

Change-Id: I989c1f4aef8e3cb20d5d19e6347575e6449bb60b
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

8b37120016-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1356 from robertovargas-arm/misra-changes

Misra changes

3b94189a12-Feb-2018 Roberto Vargas <roberto.vargas@arm.com>

Fix MISRA rule 8.4 Part 4

Rule 8.4: A compatible declaration shall be visible when
an object or function with external linkage is defined

Fixed for:
make DEBUG=1 PLAT=fvp SPD=tspd TRUSTE

Fix MISRA rule 8.4 Part 4

Rule 8.4: A compatible declaration shall be visible when
an object or function with external linkage is defined

Fixed for:
make DEBUG=1 PLAT=fvp SPD=tspd TRUSTED_BOARD_BOOT=1 \
GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \
ROT_KEY=arm_rotprivk_rsa.pem MBEDTLS_DIR=mbedtls all

Change-Id: Ie4cd6011b3e4fdcdd94ccb97a7e941f3b5b7aeb8
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...

735181b612-Feb-2018 Roberto Vargas <roberto.vargas@arm.com>

Fix MISRA rule 8.3 Part 4

Rule 8.3: All declarations of an object or function shall
use the same names and type qualifiers

Fixed for:
make DEBUG=1 PLAT=fvp SPD=tspd TRUSTED_BOARD_BOOT=1

Fix MISRA rule 8.3 Part 4

Rule 8.3: All declarations of an object or function shall
use the same names and type qualifiers

Fixed for:
make DEBUG=1 PLAT=fvp SPD=tspd TRUSTED_BOARD_BOOT=1 \
GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \
ROT_KEY=arm_rotprivk_rsa.pem MBEDTLS_DIR=mbedtls all

Change-Id: Ia34fe1ae1f142e89c9a6c19831e3daf4d28f5831
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...

c28b765812-Feb-2018 Roberto Vargas <roberto.vargas@arm.com>

Fix MISRA rule 8.5 in common code

Rule 8.5: An external object or function shall be declared
once in one and only one file.

Change-Id: I7c3d4ec7d3ba763fdb4600008ba10b4b93ecdfce
Signed-off

Fix MISRA rule 8.5 in common code

Rule 8.5: An external object or function shall be declared
once in one and only one file.

Change-Id: I7c3d4ec7d3ba763fdb4600008ba10b4b93ecdfce
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...

9ec3921c28-Mar-2018 Jonathan Wright <jonathan.wright@arm.com>

Check presence of fix for errata 843419 in Cortex-A53

A fix for errata 843419 may be available in revision r0p4 of the
Cortex-A53 processor. The presence of the fix is determined by checking
bit 8 i

Check presence of fix for errata 843419 in Cortex-A53

A fix for errata 843419 may be available in revision r0p4 of the
Cortex-A53 processor. The presence of the fix is determined by checking
bit 8 in the REVIDR register.

If the fix is present we report ERRATA_NOT_APPLIES which silences the
erroneous 'missing workaround' warning.

Change-Id: Ibd2a478df3e2a6325442a6a48a0bb0259dcfc1d7
Signed-off-by: Jonathan Wright <jonathan.wright@arm.com>

show more ...

b47f941d11-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1342 from Summer-ARM/sq/support-tzmp1

support tzmp1

a234498310-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1348 from amitdanielkachhap/dmc500_single_if_v2

DMC500: Add platform support to set system interface count


/rk3399_ARM-atf/acknowledgements.rst
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/plat/ls1043a.rst
/rk3399_ARM-atf/drivers/arm/tzc/tzc_dmc500.c
drivers/arm/tzc_dmc500.h
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/aarch64/ls1043_helpers.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ls_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/ns_access.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/plat_macros.S
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/platform_def.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/include/soc_tzasc.h
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_err.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_psci.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_security.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_stack_protector.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls1043_topology.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/ls_gic.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/platform.mk
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/ls1043_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/board/ls1043/tsp/tsp-ls1043.mk
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_console.S
/rk3399_ARM-atf/plat/layerscape/common/aarch64/ls_helpers.S
/rk3399_ARM-atf/plat/layerscape/common/include/fsl_csu.h
/rk3399_ARM-atf/plat/layerscape/common/include/ls_16550.h
/rk3399_ARM-atf/plat/layerscape/common/include/plat_ls.h
/rk3399_ARM-atf/plat/layerscape/common/include/soc.h
/rk3399_ARM-atf/plat/layerscape/common/include/tzc380.h
/rk3399_ARM-atf/plat/layerscape/common/ls_bl1_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl2_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_bl31_setup.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.c
/rk3399_ARM-atf/plat/layerscape/common/ls_common.mk
/rk3399_ARM-atf/plat/layerscape/common/ls_image_load.c
/rk3399_ARM-atf/plat/layerscape/common/ls_io_storage.c
/rk3399_ARM-atf/plat/layerscape/common/ls_timer.c
/rk3399_ARM-atf/plat/layerscape/common/ls_topology.c
/rk3399_ARM-atf/plat/layerscape/common/ls_tzc380.c
/rk3399_ARM-atf/plat/layerscape/common/ns_access.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp.mk
/rk3399_ARM-atf/plat/layerscape/common/tsp/ls_tsp_setup.c
/rk3399_ARM-atf/plat/layerscape/common/tsp/platform_tsp.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
23411d2c12-Mar-2018 Summer Qin <summer.qin@arm.com>

plat/arm: Allow override of default TZC regions

This patch allows the ARM Platforms to specify the TZC regions to be
specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c.
If the reg

plat/arm: Allow override of default TZC regions

This patch allows the ARM Platforms to specify the TZC regions to be
specified to the ARM TZC helpers in arm_tzc400.c and arm_tzc_dmc500.c.
If the regions are not specified then the default TZC region will be
configured by these helpers.

This override mechanism allows specifying special regions for TZMP1
usecase.

Signed-off-by: Summer Qin <summer.qin@arm.com>

show more ...

d12afc8e09-Apr-2018 Amit Daniel Kachhap <amit.kachhap@arm.com>

DMC500: Add platform support to set system interface count

Some low end platforms using DMC500 memory controller do not have
CCI(Cache Coherent Interconnect) interface and only have non-coherent
sys

DMC500: Add platform support to set system interface count

Some low end platforms using DMC500 memory controller do not have
CCI(Cache Coherent Interconnect) interface and only have non-coherent
system interface support. Hence this patch makes the system interface
count configurable from the platforms.

Change-Id: I6d54c90eb72fd18026c6470c1f7fd26c59dc4b9a
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>

show more ...

b4ad976827-Mar-2018 Jiafei Pan <Jiafei.Pan@nxp.com>

fix instruction address range limitation

For the adr instruction, it require the label's offset from the
address of this instruction must be in the range +/-1MB. If the
option "BL2_IN_XIP_MEM" is se

fix instruction address range limitation

For the adr instruction, it require the label's offset from the
address of this instruction must be in the range +/-1MB. If the
option "BL2_IN_XIP_MEM" is set to '1', in some cases, BL2's RW
memory will not in the range of +/-1MB from BL2's RO memory region.
so we need to use ldr instruction to cover this case.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>

show more ...

7d173fc521-Mar-2018 Jiafei Pan <Jiafei.Pan@nxp.com>

Add support for BL2 in XIP memory

In some use-cases BL2 will be stored in eXecute In Place (XIP) memory,
like BL1. In these use-cases, it is necessary to initialize the RW sections
in RAM, while lea

Add support for BL2 in XIP memory

In some use-cases BL2 will be stored in eXecute In Place (XIP) memory,
like BL1. In these use-cases, it is necessary to initialize the RW sections
in RAM, while leaving the RO sections in place. This patch enable this
use-case with a new build option, BL2_IN_XIP_MEM. For now, this option
is only supported when BL2_AT_EL3 is 1.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>

show more ...

f11916bf03-Apr-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Merge pull request #1334 from michpappas/tf-issues#572_qemu_dont_use_C_for_crash_console

qemu: don't use C functions for the crash console callbacks

1...<<111112113114115116117118119120>>...159