1. 02 9月, 2021 1 次提交
    • P
      armv8: Disable pointer authentication traps for EL1 · 53b40e8d
      Peter Hoyes 提交于
      The use of ARMv8.3 pointer authentication (PAuth) is governed by fields
      in HCR_EL2, which trigger a 'trap to EL2' if not enabled. The reset
      value of these fields is 'architecturally unknown' so we must ensure
      that the fields are enabled (to disable the traps) if we are entering
      the kernel at EL1.
      
      The APK field disables PAuth instruction traps and the API field
      disables PAuth register traps
      
      Add code to disable the traps in armv8_switch_to_el1_m. Prior to doing
      so, it checks fields in the ID_AA64ISAR1_EL1 register to ensure pointer
      authentication is supported by the hardware.
      
      The runtime checks require a second temporary register, so add this to
      the EL1 transition macro signature and update 2 call sites.
      Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
      53b40e8d
  2. 24 7月, 2021 1 次提交
    • P
      armv8: Initialize CNTFRQ if at highest exception level · c48fec6e
      Peter Hoyes 提交于
      CNTFRQ_EL0 is only writable from the highest supported exception
      level on the platform. For Armv8-A, this is typically EL3, but
      technically EL2 and EL3 are optional so it may need to be
      initialized at EL2 or EL1. For Armv8-R, the highest exception
      level is always EL2.
      
      This patch moves the initialization outside of the switch_el
      block and uses a new macro branch_if_not_highest_el which
      dynamically detects whether it is at the highest supported
      exception level.
      
      Linux's docs state that CNTFRQ_EL0 should be initialized by the
      bootloader. If not set, the the U-Boot prompt countdown hangs.
      Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
      c48fec6e
  3. 17 11月, 2018 1 次提交
  4. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      83d290c5
  5. 09 10月, 2017 1 次提交
  6. 16 12月, 2016 1 次提交
  7. 23 11月, 2016 1 次提交
  8. 16 4月, 2015 1 次提交
    • D
      Armv8: Initializing CNTVOFF_EL2 · 148822d5
      David Feng 提交于
      Linux-arm64 require that CNTVOFF_EL2 should be programmed with
      a consistent value on all cpus. Initializing CNTVOFF_EL2 at state
      transition instead of start.S could prevent potential different value
      on cpus if ATF exist and u-boot runs at only one cpu.
      Signed-off-by: NDavid Feng <fenghua@phytium.com.cn>
      148822d5
  9. 09 3月, 2015 1 次提交
    • L
      armv8/vexpress64: make multientry conditional · 23b5877c
      Linus Walleij 提交于
      While the Freescale ARMv8 board LS2085A will enter U-Boot both
      on a master and a secondary (slave) CPU, this is not the common
      behaviour on ARMv8 platforms. The norm is that U-Boot is entered
      from the master CPU only, while the other CPUs are kept in
      WFI (wait for interrupt) state.
      
      The code determining which CPU we are running on is using the
      MPIDR register, but the definition of that register varies with
      platform to some extent, and handling multi-cluster platforms
      (such as the Juno) will become cumbersome. It is better to only
      enable the multiple entry code on machines that actually need
      it and disable it by default.
      
      Make the single entry default and add a special
      ARMV8_MULTIENTRY KConfig option to be used by the
      platforms that need multientry and set it for the LS2085A.
      Delete all use of the CPU_RELEASE_ADDR from the Vexpress64
      boards as it is just totally unused and misleading, and
      make it conditional in the generic start.S code.
      
      This makes the Juno platform start U-Boot properly.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      23b5877c
  10. 01 2月, 2015 1 次提交
  11. 28 10月, 2014 1 次提交
  12. 25 9月, 2014 1 次提交
  13. 09 1月, 2014 1 次提交
  14. 24 7月, 2013 1 次提交
  15. 13 4月, 2010 1 次提交
  16. 21 6月, 2009 1 次提交