Skip to content
Snippets Groups Projects
  1. Apr 10, 2017
  2. Apr 07, 2017
  3. Apr 05, 2017
    • Philipp Tomsich's avatar
      rockchip: mkimage: update rkimage to support pre-padded payloads · 30827756
      Philipp Tomsich authored
      
      To simplify the creation of AArch64 SPL images for the RK3399, we
      use the ENABLE_ARM_SOC_BOOT0_HOOK option and prepend 4 bytes of
      padding at the start of the text section. This makes it easy for
      mkimage to rewrite this word with the 'RK33' boot magic.
      
      This change brings logic to calculate the header size and allocate
      the header back in sync. For the RK3399 we now limit the header to
      before the payload (i.e. the 'header0' and the padding up to the
      actual image) and overwrite the first word (inserted by the
      boot0-hook for this purpose) with the 'RK33' magic in-place.
      
      X-AffectedPlatforms: RK3399-Q7
      Signed-off-by: default avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Tested-by: default avatarKlaus Goger <klaus.goger@theobroma-systems.com>
      30827756
    • Philipp Tomsich's avatar
      rockchip: mkimage: pad the header to 8-bytes (using a 'nop') for RK3399 · 111bcc4f
      Philipp Tomsich authored
      
      The RK3399 boot code (running as AArch64) poses a bit of a challenge
      for SPL image generation:
       * The BootROM will start execution right after the 4-byte header (at
         the odd instruction word loaded into SRAM at 0xff8c2004, with the
         'RK33' boot magic residing at 0xff8c2000).
       * The default padding (during ELF generation) for AArch64 is 0x0,
         which is an illegal instruction and the .text section needs to be
         naturally aligned (someone might locate a 64bit constant relative
         to the section start and unaligned loads trigger a fault for all
         privileged modes of an ARMv8)... so we can't simply define the
         CONFIG_SPL_TEXT_BASE option to the odd address (0xff8c2004).
       * Finally, we don't want to change the values used for padding of
         the SPL .text section for all ARMv8 targets to the instruction
         word encoding 'nop', as this would affect all padding in this
         section and might hide errors that would otherwise quickly trigger
         an illegal insn exception.
      
      To deal with this situation, we modify the rkimage generation to
       - understand the fact that the RK3399 needs to pad the header to an
         8 byte boundary using an AArch64 'nop'
       - the necessary logic to adjust the header_size (which controls the
         location where the payload is copied into the image) and to insert
         this padding (AArch64 insn words are always little-endian) into
         the image following the 4-byte header magic.
      
      X-AffectedPlatforms: RK3399-Q7
      Signed-off-by: default avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Tested-by: default avatarKlaus Goger <klaus.goger@theobroma-systems.com>
      111bcc4f
    • Philipp Tomsich's avatar
      rockchip: mkimage: simplify start/size calculation for rc4_encode · f3edf8b1
      Philipp Tomsich authored
      
      The RC4 encoding works on full blocks, but the calculation of the
      starting offset and size are needlessly complicated by using a
      reference value known to be offset into a block by the size of the
      header and then correcting for the (hard-coded) size of the header
      (i.e. 4 bytes).
      
      We change this over to use the RK_SPL_HDR_START directly (which is
      known to be on a block boundary).
      
      X-AffectedPlatforms: RK3399-Q7
      Signed-off-by: default avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Tested-by: default avatarKlaus Goger <klaus.goger@theobroma-systems.com>
      f3edf8b1
  4. Mar 29, 2017
  5. Mar 28, 2017
  6. Mar 22, 2017
  7. Mar 20, 2017
  8. Mar 19, 2017
  9. Mar 16, 2017
  10. Mar 15, 2017
  11. Mar 12, 2017
  12. Mar 10, 2017
    • Tom Rini's avatar
      kconfiglib.py: Kludge in 'imply' support · d036107a
      Tom Rini authored
      
      Currently upstream does not yet understand the imply keyword.  For what
      we use kconfiglib.py for today, this is OK.  We only need to be able to
      evaluate in order to make boards.cfg and none of those choices will
      depend on how imply evaluates out.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      d036107a
  13. Mar 09, 2017
  14. Feb 17, 2017
  15. Feb 08, 2017
    • Masahiro Yamada's avatar
      cmd: rework "license" command · d726f225
      Masahiro Yamada authored
      
      The previous commit ("add a new command to show .config contents")
      improves the basic infrastructure of "embed a compressed file into
      the U-Boot image, and print it by a command".  The same pattern for
      the "license" command.
      
      This commit reworks the command to improve the following:
      
      [1] Improve log style
      
      Kbuild style log
      
        GZIP    cmd/license_data.gz
        CHK     cmd/license_data_gz.h
        UPD     cmd/license_data_gz.h
        CHK     cmd/license_data_size.h
        UPD     cmd/license_data_size.h
      
      instead of the bare Make log:
      
      cat ./Licenses/gpl-2.0.txt | gzip -9 -c | \
      		tools/bin2header license_gzip > ./include/license.h
      
      [2] Collect related code into the "cmd" directory
      
      Prior to this commit, the license.h was created by tools/Makefile,
      placed under the "include" directory, included from cmd/license.c,
      and deleted by the top-level Makefile.  It is not a good idea to
      scatter related code.
      
      [3] Drop the fixed-malloc size LICENSE_MAX
      
      Just allocate the minimum required size of buffer because we know
      the size of the original gpl-2.0.txt.
      
      [4] Fix more issues
      
      Terminate the buffer with zero to prevent puts() from over-running.
      Add "static" to do_license.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      d726f225
    • Chris Packham's avatar
      patman: Handle non-ascii characters in names · f11a0af7
      Chris Packham authored
      
      When gathering addresses for the Cc list patman would encounter a
      UnicodeDecodeError due to non-ascii characters in the author name.
      Address this by explicitly using utf-8 when building the Cc list.
      
      Signed-off-by: default avatarChris Packham <judge.packham@gmail.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      f11a0af7
    • Simon Glass's avatar
      buildman: Allow showing the list of boards with -n · 8d7523c5
      Simon Glass authored
      
      As well as showing the number of boards, allow showing the actual list of
      boards that would be built, if -v is provided.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      8d7523c5
    • Simon Glass's avatar
      patman: Format checkpatch messages for IDE throwback · 8aa41363
      Simon Glass authored
      
      It is convenient to be able to deal with checkpatch warnings in the same
      way as build warnings. Tools such as emacs and kate can quickly locate
      the source file and line automatically.
      
      To achieve this, adjust the format to match the C compiler, and output to
      stderr.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      8aa41363
    • Simon Glass's avatar
      dtoc: Replace dot with underscore to avoid compiler errors · 6b6024a3
      Simon Glass authored
      
      If there is a '.' in a compatible string, then dtoc will produce a struct
      with a name containing a '.'. This won't work, so replace it with '_'.
      
      Also add a suitable test to the sandbox device tree to catch this.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      6b6024a3
  16. Feb 07, 2017
  17. Feb 01, 2017
  18. Jan 28, 2017
  19. Jan 27, 2017
Loading