History log of /rk3399_ARM-atf/bl31/ (Results 501 – 525 of 525)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
caa8493906-Feb-2014 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

Add support for handling runtime service requests

This patch uses the reworked exception handling support to handle
runtime service requests through SMCs following the SMC calling
convention. This i

Add support for handling runtime service requests

This patch uses the reworked exception handling support to handle
runtime service requests through SMCs following the SMC calling
convention. This is a giant commit since all the changes are
inter-related. It does the following:

1. Replace the old exception handling mechanism with the new one
2. Enforce that SP_EL0 is used C runtime stacks.
3. Ensures that the cold and warm boot paths use the 'cpu_context'
structure to program an ERET into the next lower EL.
4. Ensures that SP_EL3 always points to the next 'cpu_context'
structure prior to an ERET into the next lower EL
5. Introduces a PSCI SMC handler which completes the use of PSCI as a
runtime service

Change-Id: I661797f834c0803d2c674d20f504df1b04c2b852
Co-authored-by: Achin Gupta <achin.gupta@arm.com>

show more ...

07f4e07802-Feb-2014 Achin Gupta <achin.gupta@arm.com>

Introduce new exception handling framework

This patch introduces the reworked exception handling logic which lays
the foundation for accessing runtime services in later patches. The
type of an excep

Introduce new exception handling framework

This patch introduces the reworked exception handling logic which lays
the foundation for accessing runtime services in later patches. The
type of an exception has a greater say in the way it is
handled. SP_EL3 is used as the stack pointer for:

1. Determining the type of exception and handling the unexpected ones
on the exception stack

2. Saving and restoring the essential general purpose and system
register state after exception entry and prior to exception exit.

SP_EL0 is used as the stack pointer for handling runtime service
requests e.g. SMCs. A new structure for preserving general purpose
register state has been added to the 'cpu_context' structure. All
assembler ensures that it does not use callee saved registers
(x19-x29). The C runtime preserves them across functions calls. Hence
EL3 code does not have to save and restore them explicitly.

Since the exception handling framework has undergone substantial change,
the changes have been kept in separate files to aid readability. These
files will replace the existing ones in subsequent patches.

Change-Id: Ice418686592990ff7a4260771e8d6676e6c8c5ef

show more ...

7421b46501-Feb-2014 Achin Gupta <achin.gupta@arm.com>

Add runtime services framework

This patch introduces the framework to enable registration and
initialisation of runtime services. PSCI is registered and initialised
as a runtime service. Handling of

Add runtime services framework

This patch introduces the framework to enable registration and
initialisation of runtime services. PSCI is registered and initialised
as a runtime service. Handling of runtime service requests will be
implemented in subsequent patches.

Change-Id: Id21e7ddc5a33d42b7d6e455b41155fc5441a9547

show more ...

7aea908701-Feb-2014 Achin Gupta <achin.gupta@arm.com>

Add context management library

This patch adds support for a cpu context management library. This
library will be used to:

1. Share pointers to secure and non-secure state cpu contexts between
r

Add context management library

This patch adds support for a cpu context management library. This
library will be used to:

1. Share pointers to secure and non-secure state cpu contexts between
runtime services e.g. PSCI and Secure Payload Dispatcher services
2. Set SP_EL3 to a context structure which will be used for
programming an ERET into a lower EL
3. Provide wrapper functions to save and restore EL3 & EL1
state. These functions will in turn use the helper functions in
context.S

Change-Id: I655eeef83dcd2a0c6f2eb2ac23efab866ac83ca0

show more ...

9ac63c5916-Jan-2014 Achin Gupta <achin.gupta@arm.com>

Add helper library for cpu context management

This patch introduces functions for saving and restoring shared system
registers between secure and non-secure EL1 exception levels, VFP
registers and e

Add helper library for cpu context management

This patch introduces functions for saving and restoring shared system
registers between secure and non-secure EL1 exception levels, VFP
registers and essential EL3 system register and other state. It also
defines the 'cpu_context' data structure which will used for saving and
restoring execution context for a given security state. These functions
will allow runtime services like PSCI and Secure payload dispatcher to
implement logic for switching between the secure and non-secure states.

The save and restore functions follow AArch64 PCS and only use
caller-saved temporary registers.

Change-Id: I8ee3aaa061d3caaedb28ae2c5becb9a206b6fd74

show more ...

b739f22a18-Jan-2014 Achin Gupta <achin.gupta@arm.com>

Setup VBAR_EL3 incrementally

This patch ensures that VBAR_EL3 points to the simple stack-less
'early_exceptions' when the C runtime stack is not correctly setup to
use the more complex 'runtime_exce

Setup VBAR_EL3 incrementally

This patch ensures that VBAR_EL3 points to the simple stack-less
'early_exceptions' when the C runtime stack is not correctly setup to
use the more complex 'runtime_exceptions'. It is initialised to
'runtime_exceptions' once this is done.

This patch also moves all exception vectors into a '.vectors' section
and modifies linker scripts to place all such sections together. This
will minimize space wastage from alignment restrictions.

Change-Id: I8c3e596ea3412c8bd582af9e8d622bb1cb2e049d

show more ...

74cbb83917-Feb-2014 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

Move translation tables into separate section

This patch moves the translation tables into their own section. This
saves space that would otherwise have been lost in padding due to page
table alignm

Move translation tables into separate section

This patch moves the translation tables into their own section. This
saves space that would otherwise have been lost in padding due to page
table alignment constraints. The BL31 and BL32 bases have been
consequently adjusted.

Change-Id: Ibd65ae8a5ce4c4ea9a71a794c95bbff40dc63e65

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
bl31.ld.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/psci/psci_afflvl_off.c
/rk3399_ARM-atf/common/psci/psci_afflvl_on.c
/rk3399_ARM-atf/common/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/common/psci/psci_common.c
/rk3399_ARM-atf/common/psci/psci_entry.S
/rk3399_ARM-atf/common/psci/psci_main.c
/rk3399_ARM-atf/common/psci/psci_private.h
/rk3399_ARM-atf/common/psci/psci_setup.c
/rk3399_ARM-atf/contributing.md
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/io/io_driver.h
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/io/io_fip.h
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/drivers/io/io_memmap.h
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/drivers/io/io_semihosting.h
/rk3399_ARM-atf/include/aarch64/arch.h
/rk3399_ARM-atf/include/bl2.h
/rk3399_ARM-atf/include/firmware_image_package.h
/rk3399_ARM-atf/include/io_storage.h
/rk3399_ARM-atf/include/psci.h
/rk3399_ARM-atf/include/semihosting.h
/rk3399_ARM-atf/include/stdlib/string.h
/rk3399_ARM-atf/include/stdlib/sys/uuid.h
/rk3399_ARM-atf/lib/io_storage.c
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/stdlib/mem.c
/rk3399_ARM-atf/lib/stdlib/std.c
/rk3399_ARM-atf/lib/stdlib/strcmp.c
/rk3399_ARM-atf/lib/stdlib/strncmp.c
/rk3399_ARM-atf/plat/fvp/aarch64/plat_common.c
/rk3399_ARM-atf/plat/fvp/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/fvp/bl1_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl2_plat_setup.c
/rk3399_ARM-atf/plat/fvp/plat_gic.c
/rk3399_ARM-atf/plat/fvp/plat_io_storage.c
/rk3399_ARM-atf/plat/fvp/plat_pm.c
/rk3399_ARM-atf/plat/fvp/plat_topology.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/plat/fvp/platform.mk
/rk3399_ARM-atf/tools/fip_create/Makefile
/rk3399_ARM-atf/tools/fip_create/fip_create.c
/rk3399_ARM-atf/tools/fip_create/fip_create.h
/rk3399_ARM-atf/tools/fip_create/firmware_image_package.h
/rk3399_ARM-atf/tools/fip_create/uuid.h
d7a6b0f813-Jan-2014 Ryan Harkin <ryan.harkin@linaro.org>

Build system: minor spacing tidyup

Tidy up the spacing of variable definitions within the makefiles to make
them more consistent, easier to read and amend.

Change-Id: Ic6d7c8489ca4330824abb5cd1ead8

Build system: minor spacing tidyup

Tidy up the spacing of variable definitions within the makefiles to make
them more consistent, easier to read and amend.

Change-Id: Ic6d7c8489ca4330824abb5cd1ead8f1d449d1a85
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>

show more ...

25cff83e13-Jan-2014 Ryan Harkin <ryan.harkin@linaro.org>

Build system: Fixes #2: Add multi-platform support

Move all explicit platform or architecture specific references
into a new platform.mk file that is defined for each platform.

Change-Id: I9d6320d1

Build system: Fixes #2: Add multi-platform support

Move all explicit platform or architecture specific references
into a new platform.mk file that is defined for each platform.

Change-Id: I9d6320d1ba957e0cc8d9b316b3578132331fa428
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>

show more ...

3a4cae0516-Jan-2014 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

Change comments in assembler files to help ctags

Ctags seem to have a problem with generating tags for assembler symbols
when a comment immediately follows an assembly label.

This patch inserts a s

Change comments in assembler files to help ctags

Ctags seem to have a problem with generating tags for assembler symbols
when a comment immediately follows an assembly label.

This patch inserts a single space character between the label
definition and the following comments to help ctags.

The patch is generated by the command:

git ls-files -- \*.S | xargs sed -i 's/^\([^:]\+\):;/\1: ;/1'

Change-Id: If7a3c9d0f51207ea033cc8b8e1b34acaa0926475

show more ...

eaec590e12-Dec-2013 Harry Liebel <Harry.Liebel@arm.com>

Probe for GICv3 re-distributors on core bring-up

The GICv3 distributor can have more ports than CPUs are available in
the system. Probe all re-distributors and use the matching affinity
levels as sp

Probe for GICv3 re-distributors on core bring-up

The GICv3 distributor can have more ports than CPUs are available in
the system. Probe all re-distributors and use the matching affinity
levels as specified by each core and re-distributor to decide which
re-distributor to use with which CPU core.

If a core cannot be matched with a re-distributor, the core panics and
is placed in an endless loop.

Change-Id: Ie393cfe07c7449a2383959e3c968664882e18afc

show more ...

4f60368314-Jan-2014 Harry Liebel <Harry.Liebel@arm.com>

Do not trap access to floating point registers

Traps when accessing architectural features are disabled by clearing bits
in CPTR_EL3 during early boot, including accesses to floating point
registers

Do not trap access to floating point registers

Traps when accessing architectural features are disabled by clearing bits
in CPTR_EL3 during early boot, including accesses to floating point
registers. The value of this register was previously undetermined, causing
unwanted traps to EL3. Future EL3 code (for example, context save/restore
code) may use floating point registers, although they are not used by current
code.

Also, the '-mgeneral-regs-only' flag is enabled in the GCC settings to
prevent generation of code that uses floating point registers.

Change-Id: I9a03675f6387bbbee81a6f2c9ccf81150db03747

show more ...

e83b0cad14-Jan-2014 Dan Handley <dan.handley@arm.com>

Update year in copyright text to 2014

Change-Id: Ic7fb61aabae1d515b9e6baf3dd003807ff42da60


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/arch/aarch64/cpu/cpu_helpers.S
/rk3399_ARM-atf/arch/system/gic/aarch64/gic_v3_sysregs.S
/rk3399_ARM-atf/arch/system/gic/gic.h
/rk3399_ARM-atf/arch/system/gic/gic_v2.c
/rk3399_ARM-atf/arch/system/gic/gic_v2.h
/rk3399_ARM-atf/arch/system/gic/gic_v3.h
/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch64/early_exceptions.S
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch64/bl2_arch_setup.c
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
aarch64/bl31_arch_setup.c
aarch64/bl31_entrypoint.S
aarch64/exception_handlers.c
aarch64/runtime_exceptions.S
bl31.ld.S
bl31.mk
bl31_main.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/psci/psci_afflvl_off.c
/rk3399_ARM-atf/common/psci/psci_afflvl_on.c
/rk3399_ARM-atf/common/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/common/psci/psci_common.c
/rk3399_ARM-atf/common/psci/psci_entry.S
/rk3399_ARM-atf/common/psci/psci_main.c
/rk3399_ARM-atf/common/psci/psci_private.h
/rk3399_ARM-atf/common/psci/psci_setup.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/contributing.md
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.c
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/console.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.c
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.h
/rk3399_ARM-atf/drivers/power/fvp_pwrc.c
/rk3399_ARM-atf/drivers/power/fvp_pwrc.h
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-motherboard.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/aarch64/arch.h
/rk3399_ARM-atf/include/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/asm_macros.S
/rk3399_ARM-atf/include/bakery_lock.h
/rk3399_ARM-atf/include/bl1.h
/rk3399_ARM-atf/include/bl2.h
/rk3399_ARM-atf/include/bl31.h
/rk3399_ARM-atf/include/bl_common.h
/rk3399_ARM-atf/include/debug.h
/rk3399_ARM-atf/include/mmio.h
/rk3399_ARM-atf/include/pm.h
/rk3399_ARM-atf/include/psci.h
/rk3399_ARM-atf/include/runtime_svc.h
/rk3399_ARM-atf/include/semihosting.h
/rk3399_ARM-atf/include/spinlock.h
/rk3399_ARM-atf/include/stdlib/stdio.h
/rk3399_ARM-atf/include/stdlib/string.h
/rk3399_ARM-atf/include/stdlib/sys/ctype.h
/rk3399_ARM-atf/lib/arch/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/tlb_helpers.S
/rk3399_ARM-atf/lib/mmio.c
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/stdlib/abort.c
/rk3399_ARM-atf/lib/stdlib/assert.c
/rk3399_ARM-atf/lib/stdlib/mem.c
/rk3399_ARM-atf/lib/stdlib/printf.c
/rk3399_ARM-atf/lib/stdlib/putchar.c
/rk3399_ARM-atf/lib/stdlib/puts.c
/rk3399_ARM-atf/lib/stdlib/std.c
/rk3399_ARM-atf/lib/stdlib/strchr.c
/rk3399_ARM-atf/lib/stdlib/strlen.c
/rk3399_ARM-atf/lib/stdlib/subr_prf.c
/rk3399_ARM-atf/lib/sync/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/sync/locks/exclusive/spinlock.S
/rk3399_ARM-atf/license.md
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/fvp/bl1_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl2_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/fvp_gic.c
/rk3399_ARM-atf/plat/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/readme.md
8468739c02-Jan-2014 Ian Spray <ian.spray@arm.com>

Move GIC setup to a separate file

GIC setup code which used to be in bl31_plat_setup.c is now in fvp_gic.c
to simplify future changes to other bootloader stages. This patch moves
code from bl31_pla

Move GIC setup to a separate file

GIC setup code which used to be in bl31_plat_setup.c is now in fvp_gic.c
to simplify future changes to other bootloader stages. This patch moves
code from bl31_plat_setup.c to fvp_gic.c, simplifies the include file
list for bl31_plat_setup.c, moves GIC declarations from the bl31.h header
file into the platform.h, and reworks files according to coding style
guide.

Change-Id: I48d82a4ba33e7114dcc88f9ca98767a06cf8f417

show more ...

c81b1d0f17-Dec-2013 Harry Liebel <Harry.Liebel@arm.com>

Create local C library implementation (1/2)

- This change is split into two separate patches in order to
simplify the history as interpreted by 'git'. The split is
between the move/rename and ad

Create local C library implementation (1/2)

- This change is split into two separate patches in order to
simplify the history as interpreted by 'git'. The split is
between the move/rename and addition of new files.
- Remove dependency on toolchain C library headers and functions in
order to ensure behavioural compatibility between toolchains.
- Use FreeBSD as reference for C library implementation.
- Do not let GCC use default library include paths.
- Remove unused definitions in modified headers and implementations.
- Move C library files to 'lib/stdlib' and 'include/stdlib'.
- Break std.c functions out into separate files.

Change-Id: I91cddfb3229775f770ad781589670c57d347a154

show more ...

93ca221c02-Dec-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Make BL31's ns_entry_info a single-cpu area

ns_entry_info used to be a per-cpu array. This is a waste of space
because it is only accessed by the primary CPU on the cold boot path.
This patch reduc

Make BL31's ns_entry_info a single-cpu area

ns_entry_info used to be a per-cpu array. This is a waste of space
because it is only accessed by the primary CPU on the cold boot path.
This patch reduces ns_entry_info to a single-cpu area.

Change-Id: I647c70c4e76069560f1aaad37a1d5910f56fba4c

show more ...

ba6980a802-Dec-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Move RUN_IMAGE constant from bl1.h to bl_common.h

RUN_IMAGE constant is used by all bootloader stages.

Change-Id: I1b4e28d8fcf3ad1363f202c859f5efab0f320efe

4a826dda25-Nov-2013 Achin Gupta <achin.gupta@arm.com>

rework general purpose registers save and restore

The runtime exception handling assembler code used magic numbers for
saving and restoring the general purpose register context on stack
memory. The

rework general purpose registers save and restore

The runtime exception handling assembler code used magic numbers for
saving and restoring the general purpose register context on stack
memory. The memory is interpreted as a 'gp_regs' structure and the
magic numbers are offsets to members of this structure. This patch
replaces the magic number offsets with constants. It also adds compile
time assertions to prevent an incorrect assembler view of this
structure.

Change-Id: Ibf125bfdd62ba3a33e58c5f1d71f8c229720781c

show more ...

ab2d31ed02-Dec-2013 Dan Handley <dan.handley@arm.com>

Enable third party contributions

- Add instructions for contributing to ARM Trusted Firmware.

- Update copyright text in all files to acknowledge contributors.

Change-Id: I9311aac81b00c6c167d2f8c8

Enable third party contributions

- Add instructions for contributing to ARM Trusted Firmware.

- Update copyright text in all files to acknowledge contributors.

Change-Id: I9311aac81b00c6c167d2f8c889aea403b84450e5

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/acknowledgements.md
/rk3399_ARM-atf/arch/aarch64/cpu/cpu_helpers.S
/rk3399_ARM-atf/arch/system/gic/aarch64/gic_v3_sysregs.S
/rk3399_ARM-atf/arch/system/gic/gic.h
/rk3399_ARM-atf/arch/system/gic/gic_v2.c
/rk3399_ARM-atf/arch/system/gic/gic_v2.h
/rk3399_ARM-atf/arch/system/gic/gic_v3.h
/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch64/early_exceptions.S
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch64/bl2_arch_setup.c
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
aarch64/bl31_arch_setup.c
aarch64/bl31_entrypoint.S
aarch64/exception_handlers.c
aarch64/runtime_exceptions.S
bl31.ld.S
bl31.mk
bl31_main.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/psci/psci_afflvl_off.c
/rk3399_ARM-atf/common/psci/psci_afflvl_on.c
/rk3399_ARM-atf/common/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/common/psci/psci_common.c
/rk3399_ARM-atf/common/psci/psci_entry.S
/rk3399_ARM-atf/common/psci/psci_main.c
/rk3399_ARM-atf/common/psci/psci_private.h
/rk3399_ARM-atf/common/psci/psci_setup.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/contributing.md
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.c
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/console.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.c
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.h
/rk3399_ARM-atf/drivers/power/fvp_pwrc.c
/rk3399_ARM-atf/drivers/power/fvp_pwrc.h
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-motherboard.dtsi
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/aarch64/arch.h
/rk3399_ARM-atf/include/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/asm_macros.S
/rk3399_ARM-atf/include/bakery_lock.h
/rk3399_ARM-atf/include/bl1.h
/rk3399_ARM-atf/include/bl2.h
/rk3399_ARM-atf/include/bl31.h
/rk3399_ARM-atf/include/bl_common.h
/rk3399_ARM-atf/include/mmio.h
/rk3399_ARM-atf/include/pm.h
/rk3399_ARM-atf/include/psci.h
/rk3399_ARM-atf/include/runtime_svc.h
/rk3399_ARM-atf/include/semihosting.h
/rk3399_ARM-atf/include/spinlock.h
/rk3399_ARM-atf/lib/arch/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/tlb_helpers.S
/rk3399_ARM-atf/lib/mmio.c
/rk3399_ARM-atf/lib/non-semihosting/ctype.h
/rk3399_ARM-atf/lib/non-semihosting/mem.c
/rk3399_ARM-atf/lib/non-semihosting/std.c
/rk3399_ARM-atf/lib/non-semihosting/strcmp.c
/rk3399_ARM-atf/lib/non-semihosting/string.c
/rk3399_ARM-atf/lib/non-semihosting/strlen.c
/rk3399_ARM-atf/lib/non-semihosting/strncmp.c
/rk3399_ARM-atf/lib/non-semihosting/strncpy.c
/rk3399_ARM-atf/lib/non-semihosting/strsep.c
/rk3399_ARM-atf/lib/non-semihosting/strtol.c
/rk3399_ARM-atf/lib/non-semihosting/strtoull.c
/rk3399_ARM-atf/lib/non-semihosting/subr_prf.c
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/sync/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/sync/locks/exclusive/spinlock.S
/rk3399_ARM-atf/license.md
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/fvp/bl1_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl2_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/readme.md
65f546a128-Nov-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Properly initialise the C runtime environment

This patch makes sure the C runtime environment is properly
initialised before executing any C code.

- Zero-initialise NOBITS sections (e.g. the bss

Properly initialise the C runtime environment

This patch makes sure the C runtime environment is properly
initialised before executing any C code.

- Zero-initialise NOBITS sections (e.g. the bss section).
- Relocate BL1 data from ROM to RAM.

Change-Id: I0da81b417b2f0d1f7ef667cc5131b1e47e22571f

show more ...

8d69a03f27-Nov-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Various improvements/cleanups on the linker scripts

- Check at link-time that bootloader images will fit in memory
at run time and that they won't overlap each other.
- Remove text and rodat

Various improvements/cleanups on the linker scripts

- Check at link-time that bootloader images will fit in memory
at run time and that they won't overlap each other.
- Remove text and rodata orphan sections.
- Define new linker symbols to remove the need for platform setup
code to know the order of sections.
- Reduce the size of the raw binary images by cutting some sections
out of the disk image and allocating them at load time, whenever
possible.
- Rework alignment constraints on sections.
- Remove unused linker symbols.
- Homogenize linker symbols names across all BLs.
- Add some comments in the linker scripts.

Change-Id: I47a328af0ccc7c8ab47fcc0dc6e7dd26160610b9

show more ...

3738274d18-Nov-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Unmask SError and Debug exceptions.

Any asynchronous exception caused by the firmware should be handled
in the firmware itself. For this reason, unmask SError exceptions
(and Debug ones as well) on

Unmask SError and Debug exceptions.

Any asynchronous exception caused by the firmware should be handled
in the firmware itself. For this reason, unmask SError exceptions
(and Debug ones as well) on all boot paths. Also route external
abort and SError interrupts to EL3, otherwise they will target EL1.

Change-Id: I9c191d2d0dcfef85f265641c8460dfbb4d112092

show more ...

27866d8425-Oct-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Fix inlining of GIC helper functions

Change-Id: I27aad560a5da21c0439f3ccc9dc07b026e7c6022

c10bd2ce12-Nov-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

Move generic architectural setup out of blx_plat_arch_setup().

blx_plat_arch_setup() should only perform platform-specific
architectural setup, e.g. enabling the MMU. This patch moves
generic archi

Move generic architectural setup out of blx_plat_arch_setup().

blx_plat_arch_setup() should only perform platform-specific
architectural setup, e.g. enabling the MMU. This patch moves
generic architectural setup code out of blx_plat_arch_setup().

Change-Id: I4ccf56b8c4a2fa84909817779a2d97a14aaafab6

show more ...

4f6ad66a25-Oct-2013 Achin Gupta <achin.gupta@arm.com>

ARMv8 Trusted Firmware release v0.2


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/arch/aarch64/cpu/cpu_helpers.S
/rk3399_ARM-atf/arch/system/gic/aarch64/gic_v3_sysregs.S
/rk3399_ARM-atf/arch/system/gic/gic.h
/rk3399_ARM-atf/arch/system/gic/gic_v2.c
/rk3399_ARM-atf/arch/system/gic/gic_v3.c
/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch64/early_exceptions.S
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/aarch64/bl2_arch_setup.c
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
aarch64/bl31_arch_setup.c
aarch64/bl31_entrypoint.S
aarch64/exception_handlers.c
aarch64/runtime_exceptions.S
bl31.ld.S
bl31.mk
bl31_main.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/common/psci/psci_afflvl_off.c
/rk3399_ARM-atf/common/psci/psci_afflvl_on.c
/rk3399_ARM-atf/common/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/common/psci/psci_common.c
/rk3399_ARM-atf/common/psci/psci_entry.S
/rk3399_ARM-atf/common/psci/psci_main.c
/rk3399_ARM-atf/common/psci/psci_private.h
/rk3399_ARM-atf/common/psci/psci_setup.c
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.c
/rk3399_ARM-atf/drivers/arm/interconnect/cci-400/cci400.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/console.h
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.c
/rk3399_ARM-atf/drivers/arm/peripherals/pl011/pl011.h
/rk3399_ARM-atf/drivers/power/fvp_pwrc.c
/rk3399_ARM-atf/drivers/power/fvp_pwrc.h
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dtb
/rk3399_ARM-atf/fdts/fvp-base-gicv3-psci.dts
/rk3399_ARM-atf/fdts/rtsm_ve-motherboard.dtsi
/rk3399_ARM-atf/include/aarch64/arch.h
/rk3399_ARM-atf/include/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/asm_macros.S
/rk3399_ARM-atf/include/bakery_lock.h
/rk3399_ARM-atf/include/bl1.h
/rk3399_ARM-atf/include/bl2.h
/rk3399_ARM-atf/include/bl31.h
/rk3399_ARM-atf/include/bl_common.h
/rk3399_ARM-atf/include/mmio.h
/rk3399_ARM-atf/include/pm.h
/rk3399_ARM-atf/include/psci.h
/rk3399_ARM-atf/include/runtime_svc.h
/rk3399_ARM-atf/include/semihosting.h
/rk3399_ARM-atf/include/spinlock.h
/rk3399_ARM-atf/lib/arch/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/arch/aarch64/tlb_helpers.S
/rk3399_ARM-atf/lib/mmio.c
/rk3399_ARM-atf/lib/non-semihosting/ctype.h
/rk3399_ARM-atf/lib/non-semihosting/mem.c
/rk3399_ARM-atf/lib/non-semihosting/std.c
/rk3399_ARM-atf/lib/non-semihosting/strcmp.c
/rk3399_ARM-atf/lib/non-semihosting/string.c
/rk3399_ARM-atf/lib/non-semihosting/strlen.c
/rk3399_ARM-atf/lib/non-semihosting/strncmp.c
/rk3399_ARM-atf/lib/non-semihosting/strncpy.c
/rk3399_ARM-atf/lib/non-semihosting/strsep.c
/rk3399_ARM-atf/lib/non-semihosting/strtol.c
/rk3399_ARM-atf/lib/non-semihosting/strtoull.c
/rk3399_ARM-atf/lib/non-semihosting/subr_prf.c
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/sync/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/sync/locks/exclusive/spinlock.S
/rk3399_ARM-atf/license.md
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_common.c
/rk3399_ARM-atf/plat/fvp/aarch64/fvp_helpers.S
/rk3399_ARM-atf/plat/fvp/bl1_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl2_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/fvp/fvp_topology.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/readme.md

1...<<21