• Richard Gong's avatar
    firmware: add Intel Stratix10 service layer driver · 7ca5ce89
    Richard Gong authored
    Some features of the Intel Stratix10 SoC require a level of privilege
    higher than the kernel is granted. Such secure features include
    FPGA programming. In terms of the ARMv8 architecture, the kernel runs
    at Exception Level 1 (EL1), access to the features requires
    Exception Level 3 (EL3).
    
    The Intel Stratix10 SoC service layer provides an in kernel API for
    drivers to request access to the secure features. The requests are queued
    and processed one by one. ARM’s SMCCC is used to pass the execution
    of the requests on to a secure monitor (EL3).
    
    The header file stratix10-sve-client.h defines the interface between
    service providers (FPGA manager is one of them) and service layer.
    
    The header file stratix10-smc.h defines the secure monitor call (SMC)
    message protocols used for service layer driver in normal world
    (EL1) to communicate with secure monitor SW in secure monitor exception
    level 3 (EL3).
    Signed-off-by: default avatarRichard Gong <richard.gong@intel.com>
    Signed-off-by: default avatarAlan Tull <atull@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7ca5ce89
stratix10-svc.c 28.6 KB