1. 20 Dec, 2013 4 commits
    • Sandrine Bailleux's avatar
      Fix SPSR register size in gp_regs structure · bdb774df
      Sandrine Bailleux authored
      SPSR is a 32-bit register and so its size should be reflected in
      the gp_regs structure.  This patch fixes the type of gp_regs.spsr
      to use a 32-bit variable.  It also makes the size of the other
      register fields more explicit.
      
      Change-Id: I27e0367df1a91cc501d5217c1b3856d4097c60ba
      bdb774df
    • Harry Liebel's avatar
      Add strchr() and putchar() to local C library · 1bc9e1f6
      Harry Liebel authored
      Change-Id: I3659e119a242f8ef828e32bfdf5d0b4b7ac4f716
      1bc9e1f6
    • Harry Liebel's avatar
      Create local C library implementation (2/2) · 0f702c6e
      Harry Liebel authored
      - 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: I3e3d8d992052264d2a02489034ae4c03bf0f5512
      0f702c6e
    • Harry Liebel's avatar
      Create local C library implementation (1/2) · c81b1d0f
      Harry Liebel authored
      - 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
      c81b1d0f
  2. 05 Dec, 2013 3 commits
    • Achin Gupta's avatar
      rework general purpose registers save and restore · 4a826dda
      Achin Gupta authored
      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
      4a826dda
    • Dan Handley's avatar
      Enable third party contributions · ab2d31ed
      Dan Handley authored
      - Add instructions for contributing to ARM Trusted Firmware.
      
      - Update copyright text in all files to acknowledge contributors.
      
      Change-Id: I9311aac81b00c6c167d2f8c889aea403b84450e5
      ab2d31ed
    • Sandrine Bailleux's avatar
      Properly initialise the C runtime environment · 65f546a1
      Sandrine Bailleux authored
      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
      65f546a1
  3. 27 Nov, 2013 2 commits
    • Sandrine Bailleux's avatar
      AArch64: Remove EL-agnostic TLB helper functions · 295538bc
      Sandrine Bailleux authored
      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
      295538bc
    • Sandrine Bailleux's avatar
      Unmask SError and Debug exceptions. · 3738274d
      Sandrine Bailleux authored
      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
      3738274d
  4. 25 Oct, 2013 1 commit