History log of /rk3399_ARM-atf/ (Results 18401 – 18425 of 18428)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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 ...

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

psci: rework cpu_off assertion and minor cleanups

This patch:

1. removes a duplicate assertion to check that the only error
condition that can be returned while turning a cpu off is
PSCI_E_DE

psci: rework cpu_off assertion and minor cleanups

This patch:

1. removes a duplicate assertion to check that the only error
condition that can be returned while turning a cpu off is
PSCI_E_DENIED. Having this assertion after calling
psci_afflvl_off() is sufficient.

2. corrects some incorrect usage of 'its' vs 'it is'

3. removes some unwanted white spaces

Change-Id: Icf014e269b54f5be5ce0b9fbe6b41258e4ebf403

show more ...

2d94d4a005-Nov-2013 Achin Gupta <achin.gupta@arm.com>

remove check on non-secure entrypoint parameter

In fvp_affinst_on/suspend, the non-secure entrypoint is always
expected to lie in the DRAM. This check will not be valid if
non-secure code executes d

remove check on non-secure entrypoint parameter

In fvp_affinst_on/suspend, the non-secure entrypoint is always
expected to lie in the DRAM. This check will not be valid if
non-secure code executes directly out of flash e.g. a baremetal
test. This patch removes this check.

Change-Id: I0436e1138fc394aae8ff1ea59ebe38b46a440b61

show more ...

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

move timer #defines & remove duplicate declaration

This patch removes the duplicate declaration of psci_cpu_on in psci.h
and moves the constants for the system level implementation of the
generic ti

move timer #defines & remove duplicate declaration

This patch removes the duplicate declaration of psci_cpu_on in psci.h
and moves the constants for the system level implementation of the
generic timer from arch_helpers.h to arch.h. All other architectural
constants are defined in arch.h so there is no need to add them to
arch_helpers.h

Change-Id: Ia8ad3f91854f7e57fce31873773eede55c384ff1

show more ...

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

psci: fix error due to a non zero context id

In the previous psci implementation, the psci_afflvl_power_on_finish()
function would run into an error condition if the value of the context
id paramete

psci: fix error due to a non zero context id

In the previous psci implementation, the psci_afflvl_power_on_finish()
function would run into an error condition if the value of the context
id parameter in the cpu_on and cpu_suspend psci calls was != 0. The
parameter was being restored as the return value of the affinity level
0 finisher function. A non zero context id would be treated as an
error condition. This would prevent successful wake up of the cpu from
a power down state. Also, the contents of the general purpose
registers were not being cleared upon return to the non-secure world
after a cpu power up. This could potentially allow the non-secure
world to view secure data.

This patch ensures that all general purpose registers are set to ~0
prior to the final eret that drops the execution to the non-secure
world. The context id is used to initialize the general purpose
register x0 prior to re-entry into the non-secure world and is no
longer restored as a function return value. A platform helper
(platform_get_stack()) has been introduced to facilitate this change.

Change-Id: I2454911ffd75705d6aa8609a5d250d9b26fa097c

show more ...

994dfceb26-Oct-2013 Achin Gupta <achin.gupta@arm.com>

psci: fix values of incorrectly defined constants

This patch fixes the following constant values in the psci.h:

1. The affinity level shift value in the power_state parameter of the
cpu_suspend

psci: fix values of incorrectly defined constants

This patch fixes the following constant values in the psci.h:

1. The affinity level shift value in the power_state parameter of the
cpu_suspend psci call. The previous value was preventing shutdown
of the affinity level 1.

2. The values used for affinity state constants (ON, OFF,
ON_PENDING). They did not match the values expected to be returned
by the affinity_info psci api as mentioned in the spec.

3. The state id shift value in the power_state parameter of the
cpu_suspend psci call.

Change-Id: I62ed5eb0e9640b4aa97b93923d6630e6b877a097

show more ...

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

clear wakeup enable bit upon resuming from suspend

The FVP specific code that gets called after a cpu has been physically
powered on after having been turned off or suspended earlier does not
clear

clear wakeup enable bit upon resuming from suspend

The FVP specific code that gets called after a cpu has been physically
powered on after having been turned off or suspended earlier does not
clear the PWRC.PWKUPR.WEN bit. Not doing so causes problems if: a cpu
is suspended, woken from suspend, powered down through a cpu_off call
& receives a spurious interrupt. Since the WEN bit is not cleared
after the cpu woke up from suspend, the spurious wakeup will power the
cpu on. Since the cpu_off call clears the jump address in the mailbox
this spurious wakeup will cause the cpu to crash.

This patch fixes this issue by clearing the WEN bit whenever a cpu is
powered up.

Change-Id: Ic91f5dffe1ed01d76bc7fc807acf0ecd3e38ce5b

show more ...

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


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

Update user guide further to linker scripts changes

This patch updates the user guide section about the memory layout.
- Explain the verifications that the linker scripts does on the
global me

Update user guide further to linker scripts changes

This patch updates the user guide section about the memory layout.
- Explain the verifications that the linker scripts does on the
global memory layout.
- Refer to the new linker symbols.
- Describe the linker symbols exported to the trusted firmware code.

Change-Id: I033ab2b867e8b9776deb4185b9986bcb8218f286

show more ...

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

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

Treat compiler, assembler and linker warnings as errors

Change-Id: I56284ebf63bef99de1beb4fd86e2d8b6a7962ac0

eaaeece201-Nov-2013 James Morrissey <james.morrissey@arm.com>

Generate build products in sub-directories

A single binary can be compiled using a command such as:
make CROSS_COMPILE=aarch64-none-elf- bl1

Also make use of brackets consistent in the Makefile.

Generate build products in sub-directories

A single binary can be compiled using a command such as:
make CROSS_COMPILE=aarch64-none-elf- bl1

Also make use of brackets consistent in the Makefile.

Change-Id: I2180fdb473411ef7cffe39670a7b2de82def812e

show more ...

375ae68e18-Nov-2013 Harry Liebel <Harry.Liebel@arm.com>

Increase default amount of RAM for Base FVPs in FDTs

- Large RAM-disks may have trouble starting with 2GB of memory.
- Increase from 2GB to 4GB in FDT.

Change-Id: I12c1b8e5db41114b88c69c48621cb2124

Increase default amount of RAM for Base FVPs in FDTs

- Large RAM-disks may have trouble starting with 2GB of memory.
- Increase from 2GB to 4GB in FDT.

Change-Id: I12c1b8e5db41114b88c69c48621cb21247a6a6a7

show more ...

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

fvp: Remove call to bl2_get_ns_mem_layout() function

On FVP platforms, for now it is assumed that the normal-world
bootloader is already sitting in its final memory location.
Therefore, BL2 doesn't

fvp: Remove call to bl2_get_ns_mem_layout() function

On FVP platforms, for now it is assumed that the normal-world
bootloader is already sitting in its final memory location.
Therefore, BL2 doesn't need to load it and so it doesn't need
to know the extents of the non-trusted DRAM.

Change-Id: I33177ab43ca242edc8958f2fa8d994e7cf3e0843

show more ...

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

AArch64: Remove EL-agnostic TLB helper functions

Also, don't invalidate the TLBs in disable_mmu() function, it's better
to do it in enable_mmu() function just before actually enabling the
MMU.

Chan

AArch64: Remove EL-agnostic TLB helper functions

Also, don't invalidate the TLBs in disable_mmu() function, it's better
to do it in enable_mmu() function just before actually enabling the
MMU.

Change-Id: Ib32d6660019b0b2c17254156aad4be67ab4970e1

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

204aa03d28-Oct-2013 Sandrine Bailleux <sandrine.bailleux@arm.com>

fvp: Remove unnecessary initializers

Global and static variables are expected to be initialised to zero
by default. This is specified by the C99 standard. This patch
removes some unnecessary initia

fvp: Remove unnecessary initializers

Global and static variables are expected to be initialised to zero
by default. This is specified by the C99 standard. This patch
removes some unnecessary initialisations of such variables.

It fixes a compilation warning at the same time:
plat/fvp/bl31_plat_setup.c:82:3: warning: missing braces around
initializer [-Wmissing-braces]
section("tzfw_coherent_mem"))) = {0};
^
plat/fvp/bl31_plat_setup.c:82:3: warning: (near initialization for
‘ns_entry_info[0]’) [-Wmissing-braces]

Note that GCC should not have emitted this warning message in the
first place. The C Standard permits braces to be elided around
subaggregate initializers. See this GCC bug report:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119

Change-Id: I13cb0c344feb9803bca8819f976377741fa6bc35

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

ba3155bb29-Oct-2013 James Morrissey <james.morrissey@arm.com>

Fix documentation issues in v0.2 release

Change-Id: I4e2a9daa97e3be3d2f53894f2ec7947ba6bb3a16

cff4e29605-Nov-2013 Harry Liebel <Harry.Liebel@arm.com>

Add Foundation FVP documentation

Change-Id: I5e47ba96e128d3a793517441f5a6c9f2ccbdfc66

3498859b11-Nov-2013 Harry Liebel <Harry.Liebel@arm.com>

Add GICv3 ITS to FDTs

- The interrupt addresses need to be updated to work.

Change-Id: Icdd00177095ae9e4eb7b13718762f92e29b1465c

30affd5630-Oct-2013 Harry Liebel <Harry.Liebel@arm.com>

Do not enable CCI on Foundation FVP

- The Foundation FVP only has one cluster and does not have
CCI.

Change-Id: If91e81ff72c52e448150089c4cfea3e4d6ae1232

1...<<731732733734735736737738