• Anshuman Khandual's avatar
    coresight: sink: Add TRBE driver · 3fbf7f01
    Anshuman Khandual authored
    Trace Buffer Extension (TRBE) implements a trace buffer per CPU which is
    accessible via the system registers. The TRBE supports different addressing
    modes including CPU virtual address and buffer modes including the circular
    buffer mode. The TRBE buffer is addressed by a base pointer (TRBBASER_EL1),
    an write pointer (TRBPTR_EL1) and a limit pointer (TRBLIMITR_EL1). But the
    access to the trace buffer could be prohibited by a higher exception level
    (EL3 or EL2), indicated by TRBIDR_EL1.P. The TRBE can also generate a CPU
    private interrupt (PPI) on address translation errors and when the buffer
    is full. Overall implementation here is inspired from the Arm SPE driver.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    [ Mark the buffer truncated on WRAP event, error code cleanup ]
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Link: https://lore.kernel.org/r/20210405164307.1720226-18-suzuki.poulose@arm.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    3fbf7f01
Makefile 1.17 KB