1. 24 Feb, 2020 1 commit
    • Petre-Ionut Tudor's avatar
      Read-only xlat tables for BL31 memory · 60e8f3cf
      Petre-Ionut Tudor authored
      
      
      This patch introduces a build flag which allows the xlat tables
      to be mapped in a read-only region within BL31 memory. It makes it
      much harder for someone who has acquired the ability to write to
      arbitrary secure memory addresses to gain control of the
      translation tables.
      
      The memory attributes of the descriptors describing the tables
      themselves are changed to read-only secure data. This change
      happens at the end of BL31 runtime setup. Until this point, the
      tables have read-write permissions. This gives a window of
      opportunity for changes to be made to the tables with the MMU on
      (e.g. reclaiming init code). No changes can be made to the tables
      with the MMU turned on from this point onwards. This change is also
      enabled for sp_min and tspd.
      
      To make all this possible, the base table was moved to .rodata. The
      penalty we pay is that now .rodata must be aligned to the size of
      the base table (512B alignment). Still, this is better than putting
      the base table with the higher level tables in the xlat_table
      section, as that would cost us a full 4KB page.
      
      Changing the tables from read-write to read-only cannot be done with
      the MMU on, as the break-before-make sequence would invalidate the
      descriptor which resolves the level 3 page table where that very
      descriptor is located. This would make the translation required for
      writing the changes impossible, generating an MMU fault.
      
      The caches are also flushed.
      Signed-off-by: default avatarPetre-Ionut Tudor <petre-ionut.tudor@arm.com>
      Change-Id: Ibe5de307e6dc94c67d6186139ac3973516430466
      60e8f3cf
  2. 18 Feb, 2020 4 commits
  3. 17 Feb, 2020 3 commits
    • Vishnu Banavath's avatar
      corstone700: set UART clocks to 32MHz · 6aa138de
      Vishnu Banavath authored
      
      
      Adding support for 32MHz UART clock and selecting it as the
      default UART clock
      
      Change-Id: I9541eaff70424e85a3b5ee4820ca0e7efb040d2c
      Signed-off-by: default avatarVishnu Banavath <vishnu.banavath@arm.com>
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      6aa138de
    • Avinash Mehta's avatar
      corstone700: clean-up as per coding style guide · 93cf1f64
      Avinash Mehta authored
      
      
      Running checkpatch.pl on the codebase and making required changes
      
      Change-Id: I7d3f8764cef632ab2a6d3c355c68f590440b85b8
      Signed-off-by: default avatarAvinash Mehta <avinash.mehta@arm.com>
      Signed-off-by: default avatarAbdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
      93cf1f64
    • Khandelwal's avatar
      Corstone700: add support for mhuv2 in arm TF-A · c6fe43b7
      Khandelwal authored
      
      
      Note: This patch implements in-band messaging protocol only.
      ARM has launched a next version of MHU i.e. MHUv2 with its latest
      subsystems. The main change is that the MHUv2 is now a distributed IP
      with different peripheral views (registers) for the sender and receiver.
      
      Another main difference is that MHUv1 duplex channels are now split into
      simplex/half duplex in MHUv2. MHUv2 has a configurable number of
      communication channels. There is a capability register (MSG_NO_CAP) to
      find out how many channels are available in a system.
      
      The register offsets have also changed for STAT, SET & CLEAR registers
      from 0x0, 0x8 & 0x10 in MHUv1 to 0x0, 0xC & 0x8 in MHUv2 respectively.
      
      0x0    0x4  0x8  0xC             0x1F
      ------------------------....-----
      | STAT |    |    | SET |    |   |
      ------------------------....-----
            Transmit Channel
      
      0x0    0x4  0x8   0xC            0x1F
      ------------------------....-----
      | STAT |    | CLR |    |    |   |
      ------------------------....-----
              Receive Channel
      
      The MHU controller can request the receiver to wake-up and once the
      request is removed, the receiver may go back to sleep, but the MHU
      itself does not actively put a receiver to sleep.
      
      So, in order to wake-up the receiver when the sender wants to send data,
      the sender has to set ACCESS_REQUEST register first in order to wake-up
      receiver, state of which can be detected using ACCESS_READY register.
      ACCESS_REQUEST has an offset of 0xF88 & ACCESS_READY has an offset
      of 0xF8C and are accessible only on any sender channel.
      
      This patch adds necessary changes in a new file required to support the
      latest MHUv2 controller. This patch also needs an update in DT binding
      for ARM MHUv2 as we need a second register base (tx base) which would
      be used as the send channel base.
      
      Change-Id: I1455e08b3d88671a191c558790c503eabe07a8e6
      Signed-off-by: default avatarTushar Khandelwal <tushar.khandelwal@arm.com>
      c6fe43b7
  4. 13 Feb, 2020 1 commit
  5. 12 Feb, 2020 1 commit
  6. 11 Feb, 2020 1 commit
  7. 10 Feb, 2020 3 commits
  8. 07 Feb, 2020 21 commits
  9. 06 Feb, 2020 2 commits
    • Max Shvetsov's avatar
      Adds option to read ROTPK from registers for FVP · a6ffddec
      Max Shvetsov authored
      
      
      Enables usage of ARM_ROTPK_LOCATION=regs for FVP board.
      Removes hard-coded developer keys. Instead, setting
      ARM_ROTPK_LOCATION=devel_* takes keys from default directory.
      In case of ROT_KEY specified - generates a new hash and replaces the
      original.
      
      Note: Juno board was tested by original feature author and was not tested
      for this patch since we don't have access to the private key. Juno
      implementation was moved to board-specific file without changing
      functionality. It is not known whether byte-swapping is still needed
      for this platform.
      
      Change-Id: I0fdbaca0415cdcd78f3a388551c2e478c01ed986
      Signed-off-by: default avatarMax Shvetsov <maksims.svecovs@arm.com>
      a6ffddec
    • Louis Mayencourt's avatar
      fvp: Slightly Bump the stack size for bl1 and bl2 · 64271c74
      Louis Mayencourt authored
      
      
      Stack usage reaches 90% with some configuration. Bump slightly the stack
      size to prevent a stack-overflow.
      
      Change-Id: I44ce8b12906586a42f152b7677785fcdc5e78ae1
      Signed-off-by: default avatarLouis Mayencourt <louis.mayencourt@arm.com>
      64271c74
  10. 05 Feb, 2020 1 commit
  11. 04 Feb, 2020 1 commit
  12. 03 Feb, 2020 1 commit