1. 13 3月, 2015 4 次提交
  2. 06 3月, 2015 1 次提交
  3. 05 3月, 2015 2 次提交
    • S
      arm: spl: Allow board_init_r() to run with a larger stack · db910353
      Simon Glass 提交于
      At present SPL uses a single stack, either CONFIG_SPL_STACK or
      CONFIG_SYS_INIT_SP_ADDR. Since some SPL features (such as MMC and
      environment) require a lot of stack, some boards set CONFIG_SPL_STACK to
      point into SDRAM. They then set up SDRAM very early, before board_init_f(),
      so that the larger stack can be used.
      
      This is an abuse of lowlevel_init(). That function should only be used for
      essential start-up code which cannot be delayed. An example of a valid use is
      when only part of the SPL code is visible/executable, and the SoC must be set
      up so that board_init_f() can be reached. It should not be used for SDRAM
      init, console init, etc.
      
      Add a CONFIG_SPL_STACK_R option, which allows the stack to be moved to a new
      address before board_init_r() is called in SPL.
      
      The expected SPL flow (for CONFIG_SPL_FRAMEWORK) is documented in the README.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      For version 1:
      Acked-by: NAlbert ARIBAUD <albert.u.boot@aribaud.net>
      Reviewed-by: NStefan Roese <sr@denx.de>
      Tested-by: NBo Shen <voice.shen@atmel.com>
      Acked-by: NBo Shen <voice.shen@atmel.com>
      Acked-by: NHeiko Schocher <hs@denx.de>
      Tested-by: NHeiko Schocher <hs@denx.de>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      db910353
    • S
      ARM: tegra: support running in non-secure mode · 73c38934
      Stephen Warren 提交于
      When the CPU is in non-secure (NS) mode (when running U-Boot under a
      secure monitor), certain actions cannot be taken, since they would need
      to write to secure-only registers. One example is configuring the ARM
      architectural timer's CNTFRQ register.
      
      We could support this in one of two ways:
      1) Compile twice, once for secure mode (in which case anything goes) and
         once for non-secure mode (in which case certain actions are disabled).
         This complicates things, since everyone needs to keep track of
         different U-Boot binaries for different situations.
      2) Detect NS mode at run-time, and optionally skip any impossible actions.
         This has the advantage of a single U-Boot binary working in all cases.
      
      (2) is not possible on ARM in general, since there's no architectural way
      to detect secure-vs-non-secure. However, there is a Tegra-specific way to
      detect this.
      
      This patches uses that feature to detect secure vs. NS mode on Tegra, and
      uses that to:
      
      * Skip the ARM arch timer initialization.
      
      * Set/clear an environment variable so that boot scripts can take
        different action depending on which mode the CPU is in. This might be
        something like:
        if CPU is secure:
          load secure monitor code into RAM.
          boot secure monitor.
          secure monitor will restart (a new copy of) U-Boot in NS mode.
        else:
          execute normal boot process
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      73c38934
  4. 26 2月, 2015 1 次提交
  5. 25 2月, 2015 1 次提交
  6. 17 2月, 2015 1 次提交
  7. 08 2月, 2015 1 次提交
  8. 30 1月, 2015 2 次提交
  9. 16 1月, 2015 1 次提交
  10. 06 1月, 2015 2 次提交
  11. 19 12月, 2014 2 次提交
    • T
      ARM: Implement non-cached memory support · 1dfdd9ba
      Thierry Reding 提交于
      Implement an API that can be used by drivers to allocate memory from a
      pool that is mapped uncached. This is useful if drivers would otherwise
      need to do extensive cache maintenance (or explicitly maintaining the
      cache isn't safe).
      
      The API is protected using the new CONFIG_SYS_NONCACHED_MEMORY setting.
      Boards can set this to the size to be used for the non-cached area. The
      area will typically be right below the malloc() area, but architectures
      should take care of aligning the beginning and end of the area to honor
      any mapping restrictions. Architectures must also ensure that mappings
      established for this area do not overlap with the malloc() area (which
      should remain cached for improved performance).
      
      While the API is currently only implemented for ARM v7, it should be
      generic enough to allow other architectures to implement it as well.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      1dfdd9ba
    • T
      ARM: Implement non-cached memory support · ed710457
      Thierry Reding 提交于
      Implement an API that can be used by drivers to allocate memory from a
      pool that is mapped uncached. This is useful if drivers would otherwise
      need to do extensive cache maintenance (or explicitly maintaining the
      cache isn't safe).
      
      The API is protected using the new CONFIG_SYS_NONCACHED_MEMORY setting.
      Boards can set this to the size to be used for the non-cached area. The
      area will typically be right below the malloc() area, but architectures
      should take care of aligning the beginning and end of the area to honor
      any mapping restrictions. Architectures must also ensure that mappings
      established for this area do not overlap with the malloc() area (which
      should remain cached for improved performance).
      
      While the API is currently only implemented for ARM v7, it should be
      generic enough to allow other architectures to implement it as well.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      ed710457
  12. 18 12月, 2014 1 次提交
  13. 08 12月, 2014 1 次提交
  14. 06 12月, 2014 1 次提交
  15. 05 12月, 2014 1 次提交
  16. 23 11月, 2014 2 次提交
    • M
      hush: add CONFIG_HUSH_PARSER to Kconfig · 6c775090
      Masahiro Yamada 提交于
      The README file states that the macros beginning with "CONFIG_SYS_"
      depend on the hardware etc. and should not be meddled with if you do
      not what you're doing.
      We have already screwed up with this policy; we have given the prefix
      "CONFIG_SYS_" to many user-selectable configurations.
      Here, "CONFIG_SYS_HUSH_PARSER" is one of them.  Users can enable it
      if they want to use a more powerful command line parser, or disable it
      if they only need a simple one.
      
      This commit attempts to rename CONFIG_SYS_HUSH_PARSER to
      CONFIG_HUSH_PARSER and move it to Kconfig.
      
      Every board maintainer is expected to enable CONFIG_HUSH_PARSER
      (= add "CONFIG_HUSH_PARSER=y" to his defconfig file) and remove
      "#define CONFIG_SYS_HUSH_PARSER" from his header file.
      Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com>
      6c775090
    • C
      fs: make it possible to read the filesystem UUID · 59e890ef
      Christian Gmeiner 提交于
      Some filesystems have a UUID stored in its superblock. To
      allow using root=UUID=... for the kernel command line we
      need a way to read-out the filesystem UUID.
      
      changes rfc -> v1:
       - make the environment variable an option parameter. If not
         given, the UUID is printed out. If given, it is stored in the env
         variable.
       - corrected typos
       - return error codes
      
      changes v1 -> v2:
       - fix return code of do_fs_uuid(..)
       - document do_fs_uuid(..)
       - implement fs_uuid_unsuported(..) be more consistent with the
         way other optional functionality works
      
      changes v2 -> v3:
       - change ext4fs_uuid(..) to make use of #if .. #else .. #endif
         construct to get rid of unreachable code
      
      Hit any key to stop autoboot:  0
      => fsuuid
      fsuuid - Look up a filesystem UUID
      
      Usage:
      fsuuid <interface> <dev>:<part>
          - print filesystem UUID
      fsuuid <interface> <dev>:<part> <varname>
          - set environment variable to filesystem UUID
      
      => fsuuid mmc 0:1
      d9f9fc05-45ae-4a36-a616-fccce0e4f887
      => fsuuid mmc 0:2
      eb3db83c-7b28-499f-95ce-9e0bb21cda81
      => fsuuid mmc 0:1 uuid1
      => fsuuid mmc 0:2 uuid2
      => printenv uuid1
      uuid1=d9f9fc05-45ae-4a36-a616-fccce0e4f887
      => printenv uuid2
      uuid2=eb3db83c-7b28-499f-95ce-9e0bb21cda81
      =>
      Signed-off-by: NChristian Gmeiner <christian.gmeiner@gmail.com>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      59e890ef
  17. 21 11月, 2014 2 次提交
  18. 17 11月, 2014 1 次提交
  19. 08 11月, 2014 1 次提交
  20. 28 10月, 2014 1 次提交
  21. 27 10月, 2014 1 次提交
  22. 24 10月, 2014 1 次提交
  23. 23 10月, 2014 3 次提交
  24. 17 10月, 2014 1 次提交
  25. 25 9月, 2014 2 次提交
  26. 24 9月, 2014 1 次提交
  27. 22 9月, 2014 1 次提交
  28. 30 8月, 2014 1 次提交
    • T
      cmd_bootm.c: Add 'booti' for ARM64 Linux kernel Images · d2b2ffe3
      Tom Rini 提交于
      The default format for arm64 Linux kernels is the "Image" format,
      described in Documentation/arm64/booting.txt.  This, along with an
      optional gzip compression on top is all that is generated by default.
      The Image format has a magic number within the header for verification,
      a text_offset where the Image must be run from, an image_size that
      includes the BSS and reserved fields.
      
      This does not support automatic detection of a gzip compressed image.
      Signed-off-by: NTom Rini <trini@ti.com>
      d2b2ffe3