Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Sep 13, 2019
    • Alexei Fedorov's avatar
      Refactor ARMv8.3 Pointer Authentication support code · ed108b56
      Alexei Fedorov authored
      
      This patch provides the following features and makes modifications
      listed below:
      - Individual APIAKey key generation for each CPU.
      - New key generation on every BL31 warm boot and TSP CPU On event.
      - Per-CPU storage of APIAKey added in percpu_data[]
        of cpu_data structure.
      - `plat_init_apiakey()` function replaced with `plat_init_apkey()`
        which returns 128-bit value and uses Generic timer physical counter
        value to increase the randomness of the generated key.
        The new function can be used for generation of all ARMv8.3-PAuth keys
      - ARMv8.3-PAuth specific code placed in `lib\extensions\pauth`.
      - New `pauth_init_enable_el1()` and `pauth_init_enable_el3()` functions
        generate, program and enable APIAKey_EL1 for EL1 and EL3 respectively;
        pauth_disable_el1()` and `pauth_disable_el3()` functions disable
        PAuth for EL1 and EL3 respectively;
        `pauth_load_bl31_apiakey()` loads saved per-CPU APIAKey_EL1 from
        cpu-data structure.
      - Combined `save_gp_pauth_registers()` function replaces calls to
        `save_gp_registers()` and `pauth_context_save()`;
        `restore_gp_pauth_registers()` replaces `pauth_context_restore()`
        and `restore_gp_registers()` calls.
      - `restore_gp_registers_eret()` function removed with corresponding
        code placed in `el3_exit()`.
      - Fixed the issue when `pauth_t pauth_ctx` structure allocated space
        for 12 uint64_t PAuth registers instead of 10 by removal of macro
        CTX_PACGAKEY_END from `include/lib/el3_runtime/aarch64/context.h`
        and assigning its value to CTX_PAUTH_REGS_END.
      - Use of MODE_SP_ELX and MODE_SP_EL0 macro definitions
        in `msr	spsel`  instruction instead of hard-coded values.
      - Changes in documentation related to ARMv8.3-PAuth and ARMv8.5-BTI.
      
      Change-Id: Id18b81cc46f52a783a7e6a09b9f149b6ce803211
      Signed-off-by: default avatarAlexei Fedorov <Alexei.Fedorov@arm.com>
      ed108b56
  2. Sep 12, 2019
  3. Sep 11, 2019
  4. Sep 10, 2019
    • Masahiro Yamada's avatar
      libc: fix sparse warning for __assert() · f906a44e
      Masahiro Yamada authored
      
      Sparse warns this:
      
      lib/libc/assert.c:29:6: error: symbol '__assert' redeclared with different type (originally declared at include/lib/libc/assert.h:36) - different modifiers
      
      Add __dead2 to match the header declaration and C definition.
      
      I also changed '__dead2 void' to 'void __dead2' for the consistency
      with other parts.
      
      Change-Id: Iefa4f0e787c24fa7e7e499d2e7baf54d4deb49ef
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      f906a44e
    • Jolly Shah's avatar
      plat: xilinx: zynqmp: Initialize IPI table from zynqmp_config_setup() · 705bed5d
      Jolly Shah authored
      
      Common ipi_table needs to be initialized before using any
      IPI command (i.e send/receive). Move zynqmp ipi config table
      initialization from sip_svc_setup() to zynqmp_config_setup().
      
      Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
      Signed-off-by: default avatarTejas Patel <tejas.patel@xilinx.com>
      Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
      705bed5d
    • Soby Mathew's avatar
      Merge changes from topic "yg/stm32mp1_wdg_updates" into integration · 0289ab9e
      Soby Mathew authored
      * changes:
        mmc: stm32_sdmmc2: correctly manage block size
        mmc: stm32_sdmmc2: manage max-frequency property from DT
        stm32mp1: move check_header() to common code
        stm32mp1: keep console during runtime
        stm32mp1: sp_min: initialize MMU and cache earlier
        stm32mp1: add support for LpDDR3
        stm32mp1: use a common function to check spinlock is available
        clk: stm32mp: enable RTCAPB clock for dual-core chips
        stm32mp1: check if the SoC is single core
        stm32mp1: print information about board
        stm32mp1: print information about SoC
        stm32mp1: add watchdog support
      0289ab9e
  5. Sep 09, 2019
  6. Sep 05, 2019