History log of /rk3399_ARM-atf/ (Results 18126 – 18150 of 18314)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
770de65f27-Mar-2014 Vikram Kanigiri <vikram.kanigiri@arm.com>

Ensure a console is initialized before it is used

This patch moves console_init() to bl32_early_platform_setup(). It
also ensures that console_init() is called in each
blX_early_platform_setup() fun

Ensure a console is initialized before it is used

This patch moves console_init() to bl32_early_platform_setup(). It
also ensures that console_init() is called in each
blX_early_platform_setup() function before the console is used
e.g. through a printf call in an assert() statement.

Fixes ARM-software/TF-issues#127

Change-Id: I5b1f17e0152bab674d807d2a95ff3689c5d4794e

show more ...

18a17e6a08-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #62 from athoelke/set-little-endian-v2

Set processor endianness immediately after RESET v2

c3260f9b30-Apr-2014 Soby Mathew <soby.mathew@arm.com>

Preserve x19-x29 across world switch for exception handling

Previously exception handlers in BL3-1, X19-X29 were not saved
and restored on every SMC/trap into EL3. Instead these registers
were 'save

Preserve x19-x29 across world switch for exception handling

Previously exception handlers in BL3-1, X19-X29 were not saved
and restored on every SMC/trap into EL3. Instead these registers
were 'saved as needed' as a side effect of the A64 ABI used by the C
compiler.

That approach failed when world switching but was not visible
with the TSP/TSPD code because the TSP is 64-bit, did not
clobber these registers when running and did not support pre-emption
by normal world interrupts. These scenarios showed
that the values in these registers can be passed through a world
switch, which broke the normal and trusted world assumptions
about these registers being preserved.

The Ideal solution saves and restores these registers when a
world switch occurs - but that type of implementation is more complex.
So this patch always saves and restores these registers on entry and
exit of EL3.

Fixes ARM-software/tf-issues#141

Change-Id: I9a727167bbc594454e81cf78a97ca899dfb11c27

show more ...

fd6fede508-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #58 from athoelke/optimise-cache-flush-v2

Optimise data cache clean/invalidate operation v2

8067ae3f08-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #61 from athoelke/use-mrs-msr-from-assembler-v2

Use MRS/MSR instructions in assembler code v2

a1ec2f4c08-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #60 from athoelke/disable-mmu-v2

Replace disable_mmu with assembler version v2

b3e2268e08-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #59 from athoelke/review-barriers-v2

Correct usage of data and instruction barriers v2

aefebcc308-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #57 from sandrine-bailleux/sb/remove-pl011-base

Remove unused 'PL011_BASE' macro

31bce47e06-May-2014 Sandrine Bailleux <sandrine.bailleux@arm.com>

Remove unused 'PL011_BASE' macro

'PL011_BASE' macro is no longer used because the right UART base
address is now directly given to the 'console_init()' function.
This patch removes it.

Change-Id: I

Remove unused 'PL011_BASE' macro

'PL011_BASE' macro is no longer used because the right UART base
address is now directly given to the 'console_init()' function.
This patch removes it.

Change-Id: I94759c99602df4876291a56f9f6a75de337a65ec

show more ...

5f6032a825-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Optimise data cache clean/invalidate operation

The data cache clean and invalidate operations dcsw_op_all()
and dcsw_op_loius() were implemented to invoke a DSB and ISB
barrier for every set/way ope

Optimise data cache clean/invalidate operation

The data cache clean and invalidate operations dcsw_op_all()
and dcsw_op_loius() were implemented to invoke a DSB and ISB
barrier for every set/way operation. This adds a substantial
performance penalty to an already expensive operation.

These functions have been reworked to provide an optimised
implementation derived from the code in section D3.4 of the
ARMv8 ARM. The helper macro setup_dcsw_op_args has been moved
and reworked alongside the implementation.

Fixes ARM-software/tf-issues#146

Change-Id: Icd5df57816a83f0a842fce935320a369f7465c7f

show more ...

228a9f0b28-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Remove unused or invalid asm helper functions

There are a small number of non-EL specific helper functions
which are no longer used, and also some unusable helper
functions for non-existant register

Remove unused or invalid asm helper functions

There are a small number of non-EL specific helper functions
which are no longer used, and also some unusable helper
functions for non-existant registers.

This change removes all of these functions.

Change-Id: Idd656cef3b59cf5c46fe2be4029d72288b649c24

show more ...

7935d0a528-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Access system registers directly in assembler

Instead of using the system register helper functions to read
or write system registers, assembler coded functions should
use MRS/MSR instructions. This

Access system registers directly in assembler

Instead of using the system register helper functions to read
or write system registers, assembler coded functions should
use MRS/MSR instructions. This results in faster and more
compact code.

This change replaces all usage of the helper functions with
direct register accesses.

Change-Id: I791d5f11f257010bb3e6a72c6c5ab8779f1982b3

show more ...

2f5dcfef28-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Replace disable_mmu with assembler version

disable_mmu() cannot work as a C function as there is no control
over data accesses generated by the compiler between disabling and
cleaning the data cache

Replace disable_mmu with assembler version

disable_mmu() cannot work as a C function as there is no control
over data accesses generated by the compiler between disabling and
cleaning the data cache. This results in reading stale data from
main memory.

As assembler version is provided for EL3, and a variant that also
disables the instruction cache which is now used by the BL1
exception handling function.

Fixes ARM-software/tf-issues#147

Change-Id: I0cf394d2579a125a23c2f2989c2e92ace6ddb1a6

show more ...

8cec598b28-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Correct usage of data and instruction barriers

The current code does not always use data and instruction
barriers as required by the architecture and frequently uses
barriers excessively due to thei

Correct usage of data and instruction barriers

The current code does not always use data and instruction
barriers as required by the architecture and frequently uses
barriers excessively due to their inclusion in all of the
write_*() helper functions.

Barriers should be used explicitly in assembler or C code
when modifying processor state that requires the barriers in
order to enable review of correctness of the code.

This patch removes the barriers from the helper functions and
introduces them as necessary elsewhere in the code.

PORTING NOTE: check any port of Trusted Firmware for use of
system register helper functions for reliance on the previous
barrier behaviour and add explicit barriers as necessary.

Fixes ARM-software/tf-issues#92

Change-Id: Ie63e187404ff10e0bdcb39292dd9066cb84c53bf

show more ...

40fd072524-Apr-2014 Andrew Thoelke <andrew.thoelke@arm.com>

Set processor endianness immediately after RESET

SCTLR_EL3.EE is being configured too late in bl1_arch_setup() and
bl31_arch_setup() after data accesses have already occured on
the cold and warm boo

Set processor endianness immediately after RESET

SCTLR_EL3.EE is being configured too late in bl1_arch_setup() and
bl31_arch_setup() after data accesses have already occured on
the cold and warm boot paths.

This control bit must be configured immediately on CPU reset to
match the endian state of the firmware (little endian).

Fixes ARM-software/tf-issues#145

Change-Id: Ie12e46fbbed6baf024c30beb50751591bb8c8655

show more ...

e404d7f406-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #49 from danh-arm/dh/remove-non-const-data

Remove variables from .data section

625de1d423-Apr-2014 Dan Handley <dan.handley@arm.com>

Remove variables from .data section

Update code base to remove variables from the .data section,
mainly by using const static data where possible and adding
the const specifier as required. Most cha

Remove variables from .data section

Update code base to remove variables from the .data section,
mainly by using const static data where possible and adding
the const specifier as required. Most changes are to the IO
subsystem, including the framework APIs. The FVP power
management code is also affected.

Delay initialization of the global static variable,
next_image_type in bl31_main.c, until it is realy needed.
Doing this moves the variable from the .data to the .bss
section.

Also review the IO interface for inconsistencies, using
uintptr_t where possible instead of void *. Remove the
io_handle and io_dev_handle typedefs, which were
unnecessary, replacing instances with uintptr_t.

Fixes ARM-software/tf-issues#107.

Change-Id: I085a62197c82410b566e4698e5590063563ed304

show more ...

408c376806-May-2014 danh-arm <dan.handley@arm.com>

Merge pull request #48 from danh-arm/dh/major-refactoring

dh/major refactoring


Makefile
bl1/aarch64/bl1_arch_setup.c
bl1/aarch64/bl1_exceptions.S
bl1/bl1.mk
bl1/bl1_main.c
bl1/bl1_private.h
bl2/aarch64/bl2_arch_setup.c
bl2/aarch64/bl2_entrypoint.S
bl2/bl2.mk
bl2/bl2_main.c
bl2/bl2_private.h
bl31/aarch64/bl31_arch_setup.c
bl31/aarch64/bl31_entrypoint.S
bl31/aarch64/context.S
bl31/aarch64/runtime_exceptions.S
bl31/bl31.mk
bl31/bl31_main.c
bl31/context_mgmt.c
bl31/runtime_svc.c
bl32/tsp/aarch64/tsp_entrypoint.S
bl32/tsp/aarch64/tsp_request.S
bl32/tsp/tsp-fvp.mk
bl32/tsp/tsp.mk
bl32/tsp/tsp_main.c
common/aarch64/early_exceptions.S
common/bl_common.c
drivers/arm/cci400/cci400.c
drivers/arm/gic/aarch64/gic_v3_sysregs.S
drivers/arm/gic/gic_v2.c
drivers/arm/gic/gic_v3.c
drivers/arm/pl011/pl011.c
drivers/arm/pl011/pl011_console.c
drivers/arm/tzc400/tzc400.c
drivers/io/io_fip.c
drivers/io/io_memmap.c
drivers/io/io_semihosting.c
include/bl1/bl1.h
include/bl2/bl2.h
include/bl31/bl31.h
include/bl31/cm_macros.S
include/bl31/context.h
include/bl31/context_mgmt.h
include/bl31/runtime_svc.h
include/bl31/services/psci.h
include/bl31/services/std_svc.h
include/bl32/bl32.h
include/bl32/payloads/tsp.h
include/common/asm_macros.S
include/common/bl_common.h
include/common/debug.h
include/common/firmware_image_package.h
include/drivers/arm/cci400.h
include/drivers/arm/gic_v2.h
include/drivers/arm/gic_v3.h
include/drivers/arm/pl011.h
include/drivers/arm/tzc400.h
include/drivers/console.h
include/drivers/io_driver.h
include/drivers/io_fip.h
include/drivers/io_memmap.h
include/drivers/io_semihosting.h
include/lib/aarch64/arch.h
include/lib/aarch64/arch_helpers.h
include/lib/aarch64/xlat_tables.h
include/lib/bakery_lock.h
include/lib/cassert.h
include/lib/io_storage.h
include/lib/mmio.h
include/lib/semihosting.h
include/lib/spinlock.h
lib/aarch64/cache_helpers.S
lib/aarch64/cpu_helpers.S
lib/aarch64/misc_helpers.S
lib/aarch64/sysreg_helpers.S
lib/aarch64/tlb_helpers.S
lib/aarch64/xlat_helpers.c
lib/aarch64/xlat_tables.c
lib/io_storage.c
lib/locks/bakery/bakery_lock.c
lib/locks/exclusive/spinlock.S
lib/semihosting/semihosting.c
plat/common/aarch64/platform_helpers.S
plat/common/aarch64/platform_mp_stack.S
plat/common/aarch64/platform_up_stack.S
plat/fvp/aarch64/bl1_plat_helpers.S
plat/fvp/aarch64/plat_common.c
plat/fvp/aarch64/plat_helpers.S
plat/fvp/bl1_plat_setup.c
plat/fvp/bl2_plat_setup.c
plat/fvp/bl31_plat_setup.c
plat/fvp/bl32_plat_setup.c
plat/fvp/drivers/pwrc/fvp_pwrc.c
plat/fvp/drivers/pwrc/fvp_pwrc.h
plat/fvp/plat_gic.c
plat/fvp/plat_io_storage.c
plat/fvp/plat_pm.c
plat/fvp/plat_security.c
plat/fvp/plat_topology.c
plat/fvp/platform.h
plat/fvp/platform.mk
services/spd/tspd/tspd.mk
services/spd/tspd/tspd_common.c
services/spd/tspd/tspd_helpers.S
services/spd/tspd/tspd_main.c
services/spd/tspd/tspd_pm.c
services/spd/tspd/tspd_private.h
services/std_svc/psci/psci_afflvl_off.c
services/std_svc/psci/psci_afflvl_on.c
services/std_svc/psci/psci_afflvl_suspend.c
services/std_svc/psci/psci_common.c
services/std_svc/psci/psci_entry.S
services/std_svc/psci/psci_main.c
services/std_svc/psci/psci_private.h
services/std_svc/psci/psci_setup.c
services/std_svc/std_svc_setup.c
tools/fip_create/fip_create.c
tools/fip_create/fip_create.h
tools/fip_create/firmware_image_package.h
97043ac909-Apr-2014 Dan Handley <dan.handley@arm.com>

Reduce deep nesting of header files

Reduce the number of header files included from other header
files as much as possible without splitting the files. Use forward
declarations where possible. This

Reduce deep nesting of header files

Reduce the number of header files included from other header
files as much as possible without splitting the files. Use forward
declarations where possible. This allows removal of some unnecessary
"#ifndef __ASSEMBLY__" statements.

Also, review the .c and .S files for which header files really need
including and reorder the #include statements alphabetically.

Fixes ARM-software/tf-issues#31

Change-Id: Iec92fb976334c77453e010b60bcf56f3be72bd3e

show more ...


bl1/aarch64/bl1_arch_setup.c
bl1/aarch64/bl1_exceptions.S
bl1/bl1_main.c
bl2/aarch64/bl2_arch_setup.c
bl2/aarch64/bl2_entrypoint.S
bl2/bl2_main.c
bl31/aarch64/bl31_arch_setup.c
bl31/aarch64/bl31_entrypoint.S
bl31/aarch64/context.S
bl31/aarch64/runtime_exceptions.S
bl31/bl31_main.c
bl31/context_mgmt.c
bl31/runtime_svc.c
bl32/tsp/aarch64/tsp_entrypoint.S
bl32/tsp/aarch64/tsp_request.S
bl32/tsp/tsp_main.c
common/aarch64/early_exceptions.S
common/bl_common.c
drivers/arm/cci400/cci400.c
drivers/arm/gic/gic_v3.c
drivers/arm/pl011/pl011.c
drivers/arm/pl011/pl011_console.c
drivers/arm/tzc400/tzc400.c
drivers/io/io_fip.c
drivers/io/io_memmap.c
drivers/io/io_semihosting.c
include/bl1/bl1.h
include/bl2/bl2.h
include/bl31/bl31.h
include/bl31/cm_macros.S
include/bl31/context.h
include/bl31/context_mgmt.h
include/bl31/runtime_svc.h
include/bl31/services/psci.h
include/bl32/bl32.h
include/bl32/payloads/tsp.h
include/common/asm_macros.S
include/common/bl_common.h
include/common/debug.h
include/drivers/arm/pl011.h
include/drivers/arm/tzc400.h
include/drivers/io_driver.h
include/drivers/io_fip.h
include/drivers/io_memmap.h
include/drivers/io_semihosting.h
include/lib/aarch64/arch.h
include/lib/aarch64/arch_helpers.h
include/lib/bakery_lock.h
include/lib/io_storage.h
include/lib/mmio.h
include/lib/semihosting.h
lib/aarch64/cache_helpers.S
lib/aarch64/misc_helpers.S
lib/aarch64/sysreg_helpers.S
lib/aarch64/tlb_helpers.S
lib/aarch64/xlat_helpers.c
lib/io_storage.c
lib/locks/bakery/bakery_lock.c
lib/semihosting/semihosting.c
plat/common/aarch64/platform_helpers.S
plat/common/aarch64/platform_mp_stack.S
plat/common/aarch64/platform_up_stack.S
plat/fvp/aarch64/bl1_plat_helpers.S
plat/fvp/aarch64/plat_common.c
plat/fvp/aarch64/plat_helpers.S
plat/fvp/bl1_plat_setup.c
plat/fvp/bl2_plat_setup.c
plat/fvp/bl31_plat_setup.c
plat/fvp/bl32_plat_setup.c
plat/fvp/drivers/pwrc/fvp_pwrc.c
plat/fvp/plat_gic.c
plat/fvp/plat_io_storage.c
plat/fvp/plat_pm.c
plat/fvp/plat_topology.c
plat/fvp/platform.h
services/spd/tspd/tspd_common.c
services/spd/tspd/tspd_helpers.S
services/spd/tspd/tspd_main.c
services/spd/tspd/tspd_pm.c
services/spd/tspd/tspd_private.h
services/std_svc/psci/psci_afflvl_off.c
services/std_svc/psci/psci_afflvl_on.c
services/std_svc/psci/psci_afflvl_suspend.c
services/std_svc/psci/psci_common.c
services/std_svc/psci/psci_entry.S
services/std_svc/psci/psci_main.c
services/std_svc/psci/psci_private.h
services/std_svc/psci/psci_setup.c
services/std_svc/std_svc_setup.c
fb037bfb10-Apr-2014 Dan Handley <dan.handley@arm.com>

Always use named structs in header files

Add tag names to all unnamed structs in header files. This
allows forward declaration of structs, which is necessary to
reduce header file nesting (to be imp

Always use named structs in header files

Add tag names to all unnamed structs in header files. This
allows forward declaration of structs, which is necessary to
reduce header file nesting (to be implemented in a subsequent
commit).

Also change the typedef names across the codebase to use the _t
suffix to be more conformant with the Linux coding style. The
coding style actually prefers us not to use typedefs at all but
this is considered a step too far for Trusted Firmware.

Also change the IO framework structs defintions to use typedef'd
structs to be consistent with the rest of the codebase.

Change-Id: I722b2c86fc0d92e4da3b15e5cab20373dd26786f

show more ...

c594573523-Apr-2014 Dan Handley <dan.handley@arm.com>

Move PSCI global functions out of private header

Move the PSCI global functions out of psci_private.h and into
psci.h to allow the standard service to only depend on psci.h.

Change-Id: I8306924a381

Move PSCI global functions out of private header

Move the PSCI global functions out of psci_private.h and into
psci.h to allow the standard service to only depend on psci.h.

Change-Id: I8306924a3814b46e70c1dcc12524c7aefe06eed1

show more ...

5b827a8f17-Apr-2014 Dan Handley <dan.handley@arm.com>

Separate BL functions out of arch.h

Move the BL function prototypes out of arch.h and into the
appropriate header files to allow more efficient header file
inclusion. Create new BL private header fi

Separate BL functions out of arch.h

Move the BL function prototypes out of arch.h and into the
appropriate header files to allow more efficient header file
inclusion. Create new BL private header files where there is no
sensible existing header file.

Change-Id: I45f3e10b72b5d835254a6f25a5e47cf4cfb274c3

show more ...

8a4fb6f617-Apr-2014 Dan Handley <dan.handley@arm.com>

Refactor GIC header files

Move the function prototypes from gic.h into either gic_v2.h or
gic_v3.h as appropriate. Update the source files to include the
correct headers.

Change-Id: I368cfda175cdcb

Refactor GIC header files

Move the function prototypes from gic.h into either gic_v2.h or
gic_v3.h as appropriate. Update the source files to include the
correct headers.

Change-Id: I368cfda175cdcbd3a68f46e2332738ec49048e19

show more ...

bdbfc3c217-Apr-2014 Dan Handley <dan.handley@arm.com>

Separate out CASSERT macro into own header

Separate out the CASSERT macro out of bl_common.h into its own
header to allow more efficient header inclusion.

Change-Id: I291be0b6b8f9879645e839a8f0dd1e

Separate out CASSERT macro into own header

Separate out the CASSERT macro out of bl_common.h into its own
header to allow more efficient header inclusion.

Change-Id: I291be0b6b8f9879645e839a8f0dd1ec9b3db9639

show more ...

bee8241715-Apr-2014 Dan Handley <dan.handley@arm.com>

Remove vpath usage in makefiles

Remove all usage of the vpath keyword in makefiles as it was prone
to mistakes. Specify the relative paths to source files instead.

Also reorder source files in make

Remove vpath usage in makefiles

Remove all usage of the vpath keyword in makefiles as it was prone
to mistakes. Specify the relative paths to source files instead.

Also reorder source files in makefiles alphabetically.

Fixes ARM-software/tf-issues#121

Change-Id: Id15f60655444bae60e0e2165259efac71a50928b

show more ...

1...<<721722723724725726727728729730>>...733