project/bcm63xx/atf.git
10 years agoAArch64: Remove EL-agnostic TLB helper functions
Sandrine Bailleux [Fri, 15 Nov 2013 14:46:44 +0000 (14:46 +0000)]
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

10 years agoUnmask SError and Debug exceptions.
Sandrine Bailleux [Mon, 18 Nov 2013 17:26:59 +0000 (17:26 +0000)]
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

10 years agofvp: Remove unnecessary initializers
Sandrine Bailleux [Mon, 28 Oct 2013 15:14:00 +0000 (15:14 +0000)]
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

10 years agoFix inlining of GIC helper functions
Sandrine Bailleux [Fri, 25 Oct 2013 14:33:39 +0000 (15:33 +0100)]
Fix inlining of GIC helper functions

Change-Id: I27aad560a5da21c0439f3ccc9dc07b026e7c6022

10 years agoMove generic architectural setup out of blx_plat_arch_setup().
Sandrine Bailleux [Tue, 12 Nov 2013 16:41:16 +0000 (16:41 +0000)]
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

10 years agoFix documentation issues in v0.2 release
James Morrissey [Tue, 29 Oct 2013 10:56:46 +0000 (10:56 +0000)]
Fix documentation issues in v0.2 release

Change-Id: I4e2a9daa97e3be3d2f53894f2ec7947ba6bb3a16

10 years agoAdd Foundation FVP documentation
Harry Liebel [Tue, 5 Nov 2013 18:00:38 +0000 (18:00 +0000)]
Add Foundation FVP documentation

Change-Id: I5e47ba96e128d3a793517441f5a6c9f2ccbdfc66

10 years agoAdd GICv3 ITS to FDTs
Harry Liebel [Mon, 11 Nov 2013 13:24:47 +0000 (13:24 +0000)]
Add GICv3 ITS to FDTs

- The interrupt addresses need to be updated to work.

Change-Id: Icdd00177095ae9e4eb7b13718762f92e29b1465c

10 years agoDo not enable CCI on Foundation FVP
Harry Liebel [Wed, 30 Oct 2013 17:41:48 +0000 (17:41 +0000)]
Do not enable CCI on Foundation FVP

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

Change-Id: If91e81ff72c52e448150089c4cfea3e4d6ae1232

10 years agoFDTs for v5.2 Foundation model
Harry Liebel [Tue, 22 Oct 2013 16:29:14 +0000 (17:29 +0100)]
FDTs for v5.2 Foundation model

- The Foundation FVP is a cut down version of the Base FVP and as
  such lacks some components.
- Three FDTs are provided.
  fvp-foundation-gicv2legacy-psci:
    Use this when setting the Foundation FVP to use GICv2. In this
    mode the GIC is located at the VE location, as described in the
    VE platform memory map.
  fvp-foundation-gicv3-psci :
    Use this when setting the Foundation FVP to use GICv3. In this
    mode the GIC is located at the Base location, as described in the
    Base platform memory map.
  fvp-foundation-gicv2-psci :
    Use this when setting the Foundation FVP to use GICv3, but Linux
    is expected to use GICv2 emulation mode. In this mode the GIC is
    located at the Base location, but the GICv3 is used in GICv2
    emulation mode.

Change-Id: I9d69bcef35c64cc8f16550efe077f578e55aaae5

10 years agoWriting to the FVP LED register should be a 32bit access.
Harry Liebel [Fri, 25 Oct 2013 15:07:53 +0000 (16:07 +0100)]
Writing to the FVP LED register should be a 32bit access.

- Writing to this register with a 64bit access can cause a
  Systen Error Exception on some models.

Change-Id: Ibcf5bdf7ab55707db61c16298f25caff50e1ff7e

11 years agoARMv8 Trusted Firmware release v0.2
Achin Gupta [Fri, 25 Oct 2013 08:08:21 +0000 (09:08 +0100)]
ARMv8 Trusted Firmware release v0.2