15 May, 2015

27 commits


14 May, 2015

13 commits

  • With d6b72da0 we started including this file unconditionally. This
    isn't allowed in a file that we also use on armv8. This will get
    cleaned up a bit better once we really start using these same features
    (and have similar fdt updates needed) on armv8.

    Signed-off-by: Tom Rini

    Tom Rini
     
  • The setexpr command used to segfault when accessing memory in sandbox.
    The pointer accesses should be mapped.

    Signed-off-by: Joe Hershberger
    Cc: Simon Glass
    Reviewed-by: Simon Glass

    Joe Hershberger
     
  • Tom Rini
     
  • Tom Rini
     
  • Tom Rini
     
  • During the Kconfig conversion one of the changes was missed.
    CONFIG_SPL_STACK_R should be CONFIG_SPL_STACK_R_ADDR since we want the
    address.

    Reported-by: Tim Harvey
    Signed-off-by: Simon Glass

    Simon Glass
     
  • All the Tegra boards borrow the files from board/nvidia/common/
    directory, i.e., board/nvidia/common/* are not vendor-common files,
    but SoC-common files.

    Move NVIDIA common files to arch/arm/mach-tegra/ to clean up
    Makefiles.

    As arch/arm/mach-tegra/board.c already exists, this commit renames
    board/nvidia/common/board.c to arch/arm/mach-tegra/board2.c,
    expecting they will be consolidated as a second step.

    Signed-off-by: Masahiro Yamada
    Acked-by: Marcel Ziswiler
    Cc: Stephen Warren
    Cc: Tom Warren
    Cc: Simon Glass
    Acked-by: Simon Glass
    Signed-off-by: Tom Warren

    Masahiro Yamada
     
  • The secure world code is relocated to the MB just below the top of 4G, we
    reserve it in the FDT (by setting CONFIG_ARMV7_SECURE_RESERVE_SIZE) but it is
    not protected in h/w.

    Signed-off-by: Ian Campbell
    Signed-off-by: Jan Kiszka
    Reviewed-by: Tom Rini
    Reviewed-by: Thierry Reding
    Tested-by: Thierry Reding
    Tested-by: Ian Campbell
    Signed-off-by: Tom Warren

    Ian Campbell
     
  • Upstream Linux is broken with default configs when PSCI, thus non-secure
    mode is enabled. So the user should explicitly enable this mode, e.g.
    when she disabled CONFIG_CPU_IDLE in Linux (in which case it's safe to
    use). We can revert this workaround once Linux got fixed.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Tom Warren

    Jan Kiszka
     
  • Make sure to enable the SMMU when booting the kernel in non-secure mode.
    This is necessary because some of the SMMU registers are restricted to
    TrustZone-secured requestors, hence the kernel wouldn't be able to turn
    the SMMU on. At the same time, enable translation for all memory clients
    for the same reasons. The kernel will still be able to control SMMU IOVA
    translation using the per-SWGROUP enable bits.

    Signed-off-by: Thierry Reding
    Signed-off-by: Jan Kiszka
    Signed-off-by: Tom Warren

    Thierry Reding
     
  • We only set CNTFRQ in arch_timer_init for the boot CPU. But this has to
    happen for all cores.

    Fixing this resolves problems of KVM with emulating the generic
    timer/counter.

    Signed-off-by: Jan Kiszka
    Reviewed-by: Tom Rini
    Reviewed-by: Thierry Reding
    Tested-by: Thierry Reding
    Tested-by: Ian Campbell
    Signed-off-by: Tom Warren

    Jan Kiszka
     
  • These registers can be used to prevent non-secure world from accessing a
    megabyte aligned region of RAM, use them to protect the u-boot secure monitor
    code.

    At first I tried to do this from s_init(), however this inexplicably causes
    u-boot's networking (e.g. DHCP) to fail, while networking under Linux was fine.

    So instead I have added a new weak arch function protect_secure_section()
    called from relocate_secure_section() and reserved the region there. This is
    better overall since it defers the reservation until after the sec vs. non-sec
    decision (which can be influenced by an envvar) has been made when booting the
    os.

    Signed-off-by: Ian Campbell
    [Jan: tiny style adjustment]
    Signed-off-by: Jan Kiszka
    Reviewed-by: Tom Rini
    Reviewed-by: Thierry Reding
    Tested-by: Thierry Reding
    Tested-by: Ian Campbell
    Signed-off-by: Tom Warren

    Ian Campbell
     
  • This is based on Thierry Reding's work and uses Ian Campell's
    preparatory patches. It comes with full support for CPU_ON/OFF PSCI
    services. The algorithm used in this version for turning CPUs on and
    off was proposed by Peter De Schrijver and Thierry Reding in
    http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/210881. It
    consists of first enabling CPU1..3 via the PMC, just to powergate them
    again with the help of the Flow Controller. Once the Flow Controller is
    in place, we can leave the PMC alone while processing CPU_ON and CPU_OFF
    PSCI requests.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Tom Warren

    Jan Kiszka