History log of /rk3399_ARM-atf/common/ (Results 351 – 375 of 381)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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 ...

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 ...


/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/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_main.c
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/context.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/context_mgmt.c
/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_request.S
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
aarch64/early_exceptions.S
bl_common.c
/rk3399_ARM-atf/drivers/arm/cci400/cci400.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/drivers/arm/pl011/pl011.c
/rk3399_ARM-atf/drivers/arm/pl011/pl011_console.c
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/bl31/bl31.h
/rk3399_ARM-atf/include/bl31/cm_macros.S
/rk3399_ARM-atf/include/bl31/context.h
/rk3399_ARM-atf/include/bl31/context_mgmt.h
/rk3399_ARM-atf/include/bl31/runtime_svc.h
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/bl32/bl32.h
/rk3399_ARM-atf/include/bl32/payloads/tsp.h
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/drivers/arm/pl011.h
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/io_driver.h
/rk3399_ARM-atf/include/drivers/io_fip.h
/rk3399_ARM-atf/include/drivers/io_memmap.h
/rk3399_ARM-atf/include/drivers/io_semihosting.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/bakery_lock.h
/rk3399_ARM-atf/include/lib/io_storage.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/lib/semihosting.h
/rk3399_ARM-atf/lib/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/aarch64/tlb_helpers.S
/rk3399_ARM-atf/lib/aarch64/xlat_helpers.c
/rk3399_ARM-atf/lib/io_storage.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/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/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl32_plat_setup.c
/rk3399_ARM-atf/plat/fvp/drivers/pwrc/fvp_pwrc.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/services/spd/tspd/tspd_common.c
/rk3399_ARM-atf/services/spd/tspd/tspd_helpers.S
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_pm.c
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/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 ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl1/bl1_private.h
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/context_mgmt.c
/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/bl32/tsp/tsp-fvp.mk
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
bl_common.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/drivers/io/io_memmap.c
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/bl31/bl31.h
/rk3399_ARM-atf/include/bl31/context.h
/rk3399_ARM-atf/include/bl31/runtime_svc.h
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/bl32/bl32.h
/rk3399_ARM-atf/include/bl32/payloads/tsp.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/firmware_image_package.h
/rk3399_ARM-atf/include/drivers/arm/gic_v2.h
/rk3399_ARM-atf/include/drivers/arm/gic_v3.h
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/io_driver.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/xlat_tables.h
/rk3399_ARM-atf/include/lib/bakery_lock.h
/rk3399_ARM-atf/include/lib/cassert.h
/rk3399_ARM-atf/include/lib/io_storage.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/lib/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/io_storage.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/plat_common.c
/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/bl32_plat_setup.c
/rk3399_ARM-atf/plat/fvp/drivers/pwrc/fvp_pwrc.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_security.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/services/spd/tspd/tspd.mk
/rk3399_ARM-atf/services/spd/tspd/tspd_common.c
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/spd/tspd/tspd_pm.c
/rk3399_ARM-atf/services/spd/tspd/tspd_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/fip_create/fip_create.c
/rk3399_ARM-atf/tools/fip_create/fip_create.h
35e98e5509-Apr-2014 Dan Handley <dan.handley@arm.com>

Make use of user/system includes more consistent

Make codebase consistent in its use of #include "" syntax for
user includes and #include <> syntax for system includes.

Fixes ARM-software/tf-issues

Make use of user/system includes more consistent

Make codebase consistent in its use of #include "" syntax for
user includes and #include <> syntax for system includes.

Fixes ARM-software/tf-issues#65

Change-Id: If2f7c4885173b1fd05ac2cde5f1c8a07000c7a33

show more ...

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

Move include and source files to logical locations

Move almost all system include files to a logical sub-directory
under ./include. The only remaining system include directories
not under ./include

Move include and source files to logical locations

Move almost all system include files to a logical sub-directory
under ./include. The only remaining system include directories
not under ./include are specific to the platform. Move the
corresponding source files to match the include directory
structure.

Also remove pm.h as it is no longer used.

Change-Id: Ie5ea6368ec5fad459f3e8a802ad129135527f0b3

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_arch_setup.c
/rk3399_ARM-atf/bl1/aarch64/bl1_entrypoint.S
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/context.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/runtime_svc.c
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_entrypoint.S
/rk3399_ARM-atf/bl32/tsp/aarch64/tsp_request.S
/rk3399_ARM-atf/bl32/tsp/tsp-fvp.mk
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.mk
/rk3399_ARM-atf/contributing.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/cci400/cci400.c
/rk3399_ARM-atf/drivers/arm/gic/aarch64/gic_v3_sysregs.S
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v3.c
/rk3399_ARM-atf/drivers/arm/pl011/pl011.c
/rk3399_ARM-atf/drivers/arm/pl011/pl011_console.c
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/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/fvp-foundation-gicv2-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv2legacy-psci.dts
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dtb
/rk3399_ARM-atf/fdts/fvp-foundation-gicv3-psci.dts
/rk3399_ARM-atf/include/bl1/bl1.h
/rk3399_ARM-atf/include/bl2/bl2.h
/rk3399_ARM-atf/include/bl31/bl31.h
/rk3399_ARM-atf/include/bl31/cm_macros.S
/rk3399_ARM-atf/include/bl31/context.h
/rk3399_ARM-atf/include/bl31/context_mgmt.h
/rk3399_ARM-atf/include/bl31/runtime_svc.h
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/bl31/services/std_svc.h
/rk3399_ARM-atf/include/bl32/bl32.h
/rk3399_ARM-atf/include/bl32/payloads/tsp.h
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/debug.h
/rk3399_ARM-atf/include/common/firmware_image_package.h
/rk3399_ARM-atf/include/drivers/arm/cci400.h
/rk3399_ARM-atf/include/drivers/arm/gic.h
/rk3399_ARM-atf/include/drivers/arm/gic_v2.h
/rk3399_ARM-atf/include/drivers/arm/gic_v3.h
/rk3399_ARM-atf/include/drivers/arm/pl011.h
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/fvp_pwrc.h
/rk3399_ARM-atf/include/drivers/io_driver.h
/rk3399_ARM-atf/include/drivers/io_fip.h
/rk3399_ARM-atf/include/drivers/io_memmap.h
/rk3399_ARM-atf/include/drivers/io_semihosting.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/aarch64/xlat_tables.h
/rk3399_ARM-atf/include/lib/bakery_lock.h
/rk3399_ARM-atf/include/lib/io_storage.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/lib/semihosting.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/lib/aarch64/cache_helpers.S
/rk3399_ARM-atf/lib/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/aarch64/tlb_helpers.S
/rk3399_ARM-atf/lib/aarch64/xlat_helpers.c
/rk3399_ARM-atf/lib/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/lib/locks/exclusive/spinlock.S
/rk3399_ARM-atf/lib/mmio.c
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/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/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/plat_security.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/plat/fvp/platform.mk
/rk3399_ARM-atf/services/spd/tspd/tspd.mk
/rk3399_ARM-atf/services/spd/tspd/tspd_common.c
/rk3399_ARM-atf/services/spd/tspd/tspd_helpers.S
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/tools/fip_create/firmware_image_package.h
6c595b3d24-Mar-2014 Sandrine Bailleux <sandrine.bailleux@arm.com>

Separate out BL2, BL3-1 and BL3-2 early exception vectors from BL1

bl1/aarch64/early_exceptions.S used to be re-used by BL2, BL3-1 and
BL3-2. There was some early SMC handling code in there that wa

Separate out BL2, BL3-1 and BL3-2 early exception vectors from BL1

bl1/aarch64/early_exceptions.S used to be re-used by BL2, BL3-1 and
BL3-2. There was some early SMC handling code in there that was not
required by the other bootloader stages. Therefore this patch
introduces an even simpler exception vector source file for BL2,
BL3-1 and BL3-2.

Fixes ARM-software/tf-issues#38

Change-Id: I0244b80e9930b0f8035156a0bf91cc3e9a8f995d

show more ...

6ba0b6d611-Mar-2014 Vikram Kanigiri <vikram.kanigiri@arm.com>

Remove partially qualified asm helper functions

Each ARM Trusted Firmware image should know in which EL it is running
and it should use the corresponding register directly instead of reading
current

Remove partially qualified asm helper functions

Each ARM Trusted Firmware image should know in which EL it is running
and it should use the corresponding register directly instead of reading
currentEL and knowing which asm register to read/write

Change-Id: Ief35630190b6f07c8fbb7ba6cb20db308f002945

show more ...


/rk3399_ARM-atf/Makefile
/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/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.mk
bl_common.c
/rk3399_ARM-atf/contributing.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/rt-svc-writers-guide.md
/rk3399_ARM-atf/drivers/io/io_fip.c
/rk3399_ARM-atf/include/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/bakery_lock.h
/rk3399_ARM-atf/include/psci.h
/rk3399_ARM-atf/include/runtime_svc.h
/rk3399_ARM-atf/include/std_svc.h
/rk3399_ARM-atf/include/tsp.h
/rk3399_ARM-atf/lib/arch/aarch64/sysreg_helpers.S
/rk3399_ARM-atf/lib/sync/locks/bakery/bakery_lock.c
/rk3399_ARM-atf/plat/fvp/aarch64/bl1_plat_helpers.S
/rk3399_ARM-atf/plat/fvp/aarch64/plat_common.c
/rk3399_ARM-atf/plat/fvp/bl1_plat_setup.c
/rk3399_ARM-atf/plat/fvp/bl31_plat_setup.c
/rk3399_ARM-atf/plat/fvp/platform.h
/rk3399_ARM-atf/services/spd/tspd/tspd_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_afflvl_suspend.c
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/services/std_svc/std_svc_setup.c
/rk3399_ARM-atf/tools/fip_create/fip_create.c
ee9ad78504-Feb-2014 Ryan Harkin <ryan.harkin@linaro.org>

bl_common: add image_size()

Fixes ARM-software/tf-issues#42

Some callers of load_image() may need to get the size of the image
before/after loading it.

Change-Id: I8dc067b69fc711433651a560ba5a8c35

bl_common: add image_size()

Fixes ARM-software/tf-issues#42

Some callers of load_image() may need to get the size of the image
before/after loading it.

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

show more ...

090630e420-Feb-2014 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

Tolerate runtime service initialization failure

At present, the firmware panics if a runtime service fails to
initialize. An earlier patch had implemented late binding for all
runtime service handle

Tolerate runtime service initialization failure

At present, the firmware panics if a runtime service fails to
initialize. An earlier patch had implemented late binding for all
runtime service handlers.

With that in place, this patch allows the firmware to proceed even when
a service fails to initialize.

Change-Id: I6cf4de2cecea9719f4cd48272a77cf459b080d4e

show more ...

08c28d5320-Feb-2014 Jeenu Viswambharan <jeenu.viswambharan@arm.com>

Report recoverable errors as warnings

At present many recoverable failures are reported as errors. This patch
modifies all such failures to be reported as warnings instead.

Change-Id: I5141653c8249

Report recoverable errors as warnings

At present many recoverable failures are reported as errors. This patch
modifies all such failures to be reported as warnings instead.

Change-Id: I5141653c82498defcada9b90fdf7498ba496b2f2

show more ...

0a9f747309-Feb-2014 Achin Gupta <achin.gupta@arm.com>

Move PSCI to runtime services directory

This patch creates a 'services' directory and moves the PSCI under
it. Other runtime services e.g. the Secure Payload Dispatcher service
will be placed under

Move PSCI to runtime services directory

This patch creates a 'services' directory and moves the PSCI under
it. Other runtime services e.g. the Secure Payload Dispatcher service
will be placed under the same directory in the future.

Also fixes issue ARM-software/tf-issues#12

Change-Id: I187f83dcb660b728f82155d91882e961d2255068

show more ...

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

Rework BL2 to BL3-1 hand over interface

This patch reworks BL2 to BL3-1 hand over interface by introducing a
composite structure (bl31_args) that holds the superset of information
that needs to be p

Rework BL2 to BL3-1 hand over interface

This patch reworks BL2 to BL3-1 hand over interface by introducing a
composite structure (bl31_args) that holds the superset of information
that needs to be passed from BL2 to BL3-1.

- The extents of secure memory available to BL3-1
- The extents of memory available to BL3-2 (not yet implemented) and
BL3-3
- Information to execute BL3-2 (not yet implemented) and BL3-3 images

This patch also introduces a new platform API (bl2_get_bl31_args_ptr)
that needs to be implemented by the platform code to export reference to
bl31_args structure which has been allocated in platform-defined memory.

The platform will initialize the extents of memory available to BL3-3
during early platform setup in bl31_args structure. This obviates the
need for bl2_get_ns_mem_layout platform API.

BL2 calls the bl2_get_bl31_args_ptr function to get a reference to
bl31_args structure. It uses the 'bl33_meminfo' field of this structure
to load the BL3-3 image. It sets the entry point information for the
BL3-3 image in the 'bl33_image_info' field of this structure. The
reference to this structure is passed to the BL3-1 image.

Also fixes issue ARM-software/tf-issues#25

Change-Id: Ic36426196dd5ebf89e60ff42643bed01b3500517

show more ...

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 ...

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

psci: Use context library for preserving EL3 state

This patch uses the context library to save and restore EL3 state on
the 'cpu_context' data structures allocated by PSCI for managing
non-secure st

psci: Use context library for preserving EL3 state

This patch uses the context library to save and restore EL3 state on
the 'cpu_context' data structures allocated by PSCI for managing
non-secure state context on each cpu.

Change-Id: I19c1f26578204a7cd9e0a6c582ced0d97ee4cf80

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 ...

9d72b4ea10-Feb-2014 James Morrissey <james.morrissey@arm.com>

Implement load_image in terms of IO abstraction

The modified implementation uses the IO abstraction rather than
making direct semi-hosting calls. The semi-hosting driver is now
registered for the F

Implement load_image in terms of IO abstraction

The modified implementation uses the IO abstraction rather than
making direct semi-hosting calls. The semi-hosting driver is now
registered for the FVP platform during initialisation of each boot
stage where it is used. Additionally, the FVP platform includes a
straightforward implementation of 'plat_get_image_source' which
provides a generic means for the 'load_image' function to determine
how to access the image data.

Change-Id: Ia34457b471dbee990c7b3c79de7aee4ceea51aa6

show more ...

40a6f64710-Feb-2014 James Morrissey <james.morrissey@arm.com>

Fix asserts appearing in release builds

Also fix warnings generated in release builds when assert code
is absent.

Change-Id: I45b9173d3888f9e93e98eb5b4fdc06727ba5cbf4

75f7367b05-Dec-2013 Achin Gupta <achin.gupta@arm.com>

psci: fix affinity level upgrade issue

The psci implementation does not track target affinity level requests
specified during cpu_suspend calls correctly as per the following
example.

1. cpu0.clust

psci: fix affinity level upgrade issue

The psci implementation does not track target affinity level requests
specified during cpu_suspend calls correctly as per the following
example.

1. cpu0.cluster0 calls cpu_suspend with the target affinity level as 0
2. Only the cpu0.cluster0 is powered down while cluster0 remains
powered up
3. cpu1.cluster0 calls cpu_off to power itself down to highest
possible affinity level
4. cluster0 will be powered off even though cpu0.cluster0 does not
allow cluster shutdown

This patch introduces reference counts at affinity levels > 0 to track
the number of cpus which want an affinity instance at level X to
remain powered up. This instance can be turned off only if its
reference count is 0. Cpus still undergo the normal state transitions
(ON, OFF, ON_PENDING, SUSPEND) but the higher levels can only be
either ON or OFF depending upon their reference count.

The above issue is thus fixed as follows:

1. cluster0's reference count is incremented by two when cpu0 and cpu1
are initially powered on.

2. cpu0.cluster0 calls cpu_suspend with the target affinity level as
0. This does not affect the cluster0 reference count.

3. Only the cpu0.cluster0 is powered down while cluster0 remains
powered up as it has a non-zero reference count.

4. cpu1.cluster0 call cpu_off to power itself down to highest possible
affinity level. This decrements the cluster0 reference count.

5. cluster0 is still not powered off since its reference count will at
least be 1 due to the restriction placed by cpu0.

Change-Id: I433dfe82b946f5f6985b1602c2de87800504f7a9

show more ...

a45e397305-Dec-2013 Achin Gupta <achin.gupta@arm.com>

psci: preserve target affinity level during suspend

This patch adds support to save and restore the target affinity level
specified during a cpu_suspend psci call. This ensures that we
traverse only

psci: preserve target affinity level during suspend

This patch adds support to save and restore the target affinity level
specified during a cpu_suspend psci call. This ensures that we
traverse only through the affinity levels that we originally intended
to after resuming from suspend.

Change-Id: I0900ae49a50b496da137cfec8f158da0397ec56c

show more ...

a59caa4c05-Dec-2013 Achin Gupta <achin.gupta@arm.com>

psci: replace secure context with suspend context

The secure context saved and restored across a cpu_suspend operation
can be more than just the state of the secure system registers e.g. we
also nee

psci: replace secure context with suspend context

The secure context saved and restored across a cpu_suspend operation
can be more than just the state of the secure system registers e.g. we
also need to save the affinity level till which the cpu is being
powered down. This patch creates a suspend_context data structure
which includes the system register context. This will allow other bits
to be saved and restored as well in subsequent patches.

Change-Id: I1c1f7d25497388b54b7d6ee4fab77e8c6a9992c4

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_v3.c
/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.mk
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/bl31.mk
psci/psci_afflvl_suspend.c
psci/psci_common.c
psci/psci_private.h
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/include/aarch64/arch.h
/rk3399_ARM-atf/include/debug.h
/rk3399_ARM-atf/include/mmio.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/sync/locks/exclusive/spinlock.S
/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/plat_common.c
/rk3399_ARM-atf/plat/fvp/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/fvp/plat_gic.c
/rk3399_ARM-atf/plat/fvp/plat_pm.c
/rk3399_ARM-atf/plat/fvp/plat_topology.c
/rk3399_ARM-atf/plat/fvp/platform.mk
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
/rk3399_ARM-atf/bl31/aarch64/bl31_arch_setup.c
/rk3399_ARM-atf/bl31/aarch64/bl31_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/exception_handlers.c
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
bl_common.c
psci/psci_afflvl_off.c
psci/psci_afflvl_on.c
psci/psci_afflvl_suspend.c
psci/psci_common.c
psci/psci_entry.S
psci/psci_main.c
psci/psci_private.h
psci/psci_setup.c
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/assert.h
/rk3399_ARM-atf/include/stdlib/machine/_limits.h
/rk3399_ARM-atf/include/stdlib/machine/_stdint.h
/rk3399_ARM-atf/include/stdlib/machine/_types.h
/rk3399_ARM-atf/include/stdlib/stddef.h
/rk3399_ARM-atf/include/stdlib/stdio.h
/rk3399_ARM-atf/include/stdlib/string.h
/rk3399_ARM-atf/include/stdlib/sys/_null.h
/rk3399_ARM-atf/include/stdlib/sys/_stdint.h
/rk3399_ARM-atf/include/stdlib/sys/_types.h
/rk3399_ARM-atf/include/stdlib/sys/cdefs.h
/rk3399_ARM-atf/include/stdlib/sys/ctype.h
/rk3399_ARM-atf/include/stdlib/sys/errno.h
/rk3399_ARM-atf/include/stdlib/sys/limits.h
/rk3399_ARM-atf/include/stdlib/sys/stdarg.h
/rk3399_ARM-atf/include/stdlib/sys/stdint.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
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

0959db5c02-Dec-2013 Achin Gupta <achin.gupta@arm.com>

psci: rectify and homogenise generic code

This patch performs a major rework of the psci generic implementation
to achieve the following:

1. replace recursion with iteration where possible to aid c

psci: rectify and homogenise generic code

This patch performs a major rework of the psci generic implementation
to achieve the following:

1. replace recursion with iteration where possible to aid code
readability e.g. affinity instance states are changed iteratively
instead of recursively.

2. acquire pointers to affinity instance nodes at the beginning of a
psci operation. All subsequent actions use these pointers instead
of calling psci_get_aff_map_node() repeatedly e.g. management of
locks has been abstracted under functions which use these pointers
to ensure correct ordering. Helper functions have been added to
create these abstractions.

3. assertions have been added to cpu level handlers to ensure correct
state transition

4. the affinity level extents specified to various functions have the
same meaning i.e. start level is always less than the end level.

Change-Id: If0508c3a7b20ea3ddda2a66128429382afc3dfc8

show more ...

1...<<111213141516