Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARMv8.1-M: Add PACBTI examples #17

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Oct 7, 2024

  1. cortex-m85: Delete MPU PXN example

    This example is going to be replaced by a new
    example where MPU PXN feature along with PACBTI
    security feature would be demonstrated.
    
    Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
    AhmedIsmail02 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    331f9bd View commit details
    Browse the repository at this point in the history
  2. cmsis: Add arm-corstone-platform-bsp submodule

    Arm-Corstone-Platform-Bsp library is a Board support
    package (BSP) library for Corstone-3xx family of target
    platforms where it's implemented using the CMSIS-Driver
    software API.
    
    The Partner-Supported-Demos would benefit from this library
    as it shall be consumed by examples demonstrated on Corstone-3xx
    target platforms (ex. MPU PXN, and PACBTI example (to be added)).
    
    This improvement prevents duplicating the contents of CMSIS
    subdirectory for each example demonstrated on Corstone-3xx
    target platforms.
    
    Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
    AhmedIsmail02 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    e878555 View commit details
    Browse the repository at this point in the history
  3. cortex-m85: Add MPU PXN PACBTI example

    This example demonstrates how the new
    Pointer Authentication and Branch Target Identification
    (PACBTI) along with the new MPU region attribute
    Privileged eXecute Never (PXN) security features
    can be used on Cortex-M85 processor.
    
    The example is based on Corstone-315 Ecosystem Fixed
    Virtual Platform (Arm Cortex-M85 CPU and Ethos-U55 NPU).
    
    The example consists of three main tasks
    (prvPacTask , prvBtiTask, and prvPxnTask).
    The prvPacTask , and prvBtiTask tasks job is to trigger
    the UsageFault exception by mimicking ROP
    (Return Oriented Programming), JOP (Jump Oriented Programming)
    security exploit attacks. Whereas, the privileged prvPxnTask
    job is to trigger the MemoryFault exception by executing an
    instruction from an MPU region with Privileged eXecute Never
    (PXN) attribute set.
    
    The example is compatible with Arm Compiler For
    Embedded toolchain only. The support for GNU, and
    IAR toolchains is not yet enabled due to known issues.
    
    Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
    Ahmed Ismail authored and AhmedIsmail02 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    c9d8f6c View commit details
    Browse the repository at this point in the history
  4. cortex-m85: Add non-MPU PACBTI example

    This example demonstrates how the new
    Pointer Authentication and Branch Target Identification
    (PACBTI)security feature can be used on Cortex-M85 processor.
    
    The example is based on Corstone-315 Ecosystem Fixed
    Virtual Platform (Arm Cortex-M85 CPU and Ethos-U65 NPU).
    
    The example consists of two main tasks
    (prvPacTask , and prvBtiTask).
    The prvPacTask , and prvBtiTask tasks job is to trigger
    the UsageFault exception by mimicking ROP
    (Return Oriented Programming), JOP (Jump Oriented Programming)
    security exploit attacks.
    
    The example is compatible with Arm Compiler For
    Embedded toolchain only. The support for GNU, and
    IAR toolchains is not yet enabled due to known issues.
    
    Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
    AhmedIsmail02 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    1e6d81c View commit details
    Browse the repository at this point in the history