1. 07 Jun, 2017 2 commits
    • Haojian Zhuang's avatar
      stdlib: support AARCH32 in endian head file · e6a993d4
      Haojian Zhuang authored
      
      
      Add the support of AARCH32 in endian head file. The code is also
      imported from FreeBSD 11.0. It's based on commit in below.
      
      commit 4e3a5b429989b4ff621682ff1462f801237bd551
      Author: mmel <mmel@FreeBSD.org>
      Date:   Tue Nov 10 12:02:41 2015 +0000
      
          ARM: Remove trailing whitespace from sys/arm/include
          No functional changes.
      
          Approved by:    kib (mentor)
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      e6a993d4
    • Haojian Zhuang's avatar
      stdlib: import endian head file from freebsd · b15f31ac
      Haojian Zhuang authored
      Import endian head files from FreeBSD 11.0. The link of FreeBSD source code
      is https://github.com/freebsd/freebsd
      
      
      
      Import machine/endian.h from sys/arm64/include/endian.h in FreeBSD.
      commit d09ff72cef8e35dbf62f7363dcbf07b453f06243
      Author: andrew <andrew@FreeBSD.org>
      Date:   Mon Mar 23 11:54:56 2015 +0000
      
          Add the start of the arm64 machine headers. This is the subset needed to
          start getting userland libraries building.
      
          Reviewed by:        imp
          Sponsored by:       The FreeBSD Foundation
      
      Import sys/endian.h from sys/sys/endian.h in FreeBSD.
      commit 3c3fa2f5b0c7640373fcbcc3f667bf7794e8e609
      Author: phk <phk@FreeBSD.org>
      Date:   Thu May 20 06:16:13 2010 +0000
      
          Fix some way-past-brucification complaints from FlexeLint.
      Signed-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      b15f31ac
  2. 23 May, 2017 1 commit
    • Masahiro Yamada's avatar
      fip: move headers shared between TF and fiptool to include/tools_share · 2a6c1a8f
      Masahiro Yamada authored
      
      
      Some header files need to be shared between TF and host programs.
      For fiptool, two headers are copied to the tools/fiptool directory,
      but it looks clumsy.
      
      This commit introduces a new directory, include/tools_share, which
      collects headers that should be shared between TF and host programs.
      
      This will clarify the interface exposed to host tools.  We should
      add new headers to this directory only when we really need to do so.
      
      For clarification, I inserted a blank line between headers from the
      include/ directory (#include <...>) and ones from a local directory
      (#include "..." ).
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      2a6c1a8f
  3. 16 May, 2017 1 commit
    • Antonio Nino Diaz's avatar
      Simplify assert() to reduce memory usage · 0da2fe7e
      Antonio Nino Diaz authored
      
      
      The behaviour of assert() now depends on the value of the new optional
      platform define `PLAT_LOG_LEVEL_ASSERT`. This defaults to `LOG_LEVEL` if
      not defined by the platform.
      
      - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_VERBOSE`, it prints the file
        name, line and asserted expression.
      - If `PLAT_LOG_LEVEL_ASSERT` >= `LOG_LEVEL_INFO`, it prints the file
        name and line.
      - If not, it doesn't print anything.
      
      Note the old behaviour was to print the function name whereas now it
      prints the file name. This reduces memory usage because the file name is
      shared between all assert calls in a given file. Also, the default
      behaviour in debug builds is to no longer print the asserted expression,
      greatly reducing the string usage.
      
      For FVP debug builds this change saves approximately:
      
                    No TBBR    TBBR
              BL1    1.6 KB   2.2 KB
              BL2    1.7 KB   2.1 KB
              BL31   2.6 KB   3.3 KB
      
      Change-Id: I2947569d593df0b25611dc3c7a6096f42155c115
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      0da2fe7e
  4. 03 May, 2017 1 commit
  5. 19 Apr, 2017 2 commits
    • Varun Wadekar's avatar
      lib: stdbool header from the FreeBSD project · 230f0d92
      Varun Wadekar authored
      
      
      This patch pulls the stdbool.h header file from the FreeBSD
      project. The platforms require this header to fix many MISRA
      defects among other things.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      230f0d92
    • Antonio Nino Diaz's avatar
      Add `ENABLE_ASSERTIONS` build option · cc8b5632
      Antonio Nino Diaz authored
      
      
      Add the new build option `ENABLE_ASSERTIONS` that controls whether or
      not assert functions are compiled out. It defaults to 1 for debug builds
      and to 0 for release builds.
      
      Additionally, a following patch will be done to allow this build option
      to hide auxiliary code used for the checks done in an `assert()`. This
      code is is currently under the DEBUG build flag.
      
      Assert messages are now only printed if LOG_LEVEL >= LOG_LEVEL_INFO,
      which is the default for debug builds.
      
      This patch also updates the User Guide.
      
      Change-Id: I1401530b56bab25561bb0f274529f1d12c5263bc
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      cc8b5632
  6. 28 Feb, 2017 1 commit
  7. 24 Jan, 2017 2 commits
  8. 30 Dec, 2016 1 commit
    • dp-arm's avatar
      fiptool: Add support for operating on binary blobs using the UUID · fcab6bbe
      dp-arm authored
      
      
      Previously, fiptool only understood a fixed set of images as
      specified in tbbr_config.c.  It preserved unknown images during
      the update, unpack and remove operations but it was not possible to
      explicitly refer to one of those unknown images.
      
      Add a new --blob option to create/update/unpack/remove images that
      are not known at compile time.  This is accomplished by specifying
      the UUID and filename pair as shown below:
      
      $ ./fiptool create --blob uuid=01234567-89ab-cdef-0123-456789abcdef,file=foo.bin fip.bin
      $ ./fiptool info fip.bin
      01234567-89ab-cdef-0123-456789abcdef: offset=0x60, size=0x1AA68
      
      Fixes ARM-software/tf-issues#420
      
      Change-Id: Iaac2504b9a4252289c09e73d29645cbe240f3a82
      Signed-off-by: default avatardp-arm <dimitris.papastamos@arm.com>
      fcab6bbe
  9. 12 Oct, 2016 1 commit
  10. 10 Aug, 2016 1 commit
    • Soby Mathew's avatar
      AArch32: Add essential Arch helpers · 031dbb12
      Soby Mathew authored
      This patch adds the essential AArch32 architecture helpers
      arch.h and arch_helpers.h and modifies `_types.h` to add AArch32
      support.
      
      A new build option `ARCH` is defined in the top level makefile to
      enable the component makefiles to choose the right files based on the
      Architecture it is being build for. Depending on this flag, either
      `AARCH32` or `AARCH64` flag is defined by the Makefile. The default
      value of `ARCH` flag is `aarch64`. The AArch32 build support will be
      added in a later patch.
      
      Change-Id: I405e5fac02db828a55cd25989b572b64cb005241
      031dbb12
  11. 18 Jul, 2016 1 commit
    • Soby Mathew's avatar
      Rework type usage in Trusted Firmware · 4c0d0390
      Soby Mathew authored
      This patch reworks type usage in generic code, drivers and ARM platform files
      to make it more portable. The major changes done with respect to
      type usage are as listed below:
      
      * Use uintptr_t for storing address instead of uint64_t or unsigned long.
      * Review usage of unsigned long as it can no longer be assumed to be 64 bit.
      * Use u_register_t for register values whose width varies depending on
        whether AArch64 or AArch32.
      * Use generic C types where-ever possible.
      
      In addition to the above changes, this patch also modifies format specifiers
      in print invocations so that they are AArch64/AArch32 agnostic. Only files
      related to upcoming feature development have been reworked.
      
      Change-Id: I9f8c78347c5a52ba7027ff389791f1dad63ee5f8
      4c0d0390
  12. 03 Jun, 2016 1 commit
    • Dan Handley's avatar
      Move stdlib header files to include/lib/stdlib · f0b489c1
      Dan Handley authored
      * Move stdlib header files from include/stdlib to include/lib/stdlib for
        consistency with other library headers.
      * Fix checkpatch paths to continue excluding stdlib files.
      * Create stdlib.mk to define the stdlib source files and include directories.
      * Include stdlib.mk from the top level Makefile.
      * Update stdlib header path in the fip_create Makefile.
      * Update porting-guide.md with the new paths.
      
      Change-Id: Ia92c2dc572e9efb54a783e306b5ceb2ce24d27fa
      f0b489c1