• Suzuki K Poulose's avatar
    coresight: etm4x: Use Trace Filtering controls dynamically · 5f6fd1aa
    Suzuki K Poulose authored
    The Trace Filtering support (FEAT_TRF) ensures that the ETM
    can be prohibited from generating any trace for a given EL.
    This is much stricter knob, than the TRCVICTLR exception level
    masks, which doesn't prevent the ETM from generating Context
    packets for an "excluded" EL. At the moment, we do a onetime
    enable trace at user and kernel and leave it untouched for the
    kernel life time. This implies that the ETM could potentially
    generate trace packets containing the kernel addresses, and
    thus leaking the kernel virtual address in the trace.
    
    This patch makes the switch dynamic, by honoring the filters
    set by the user and enforcing them in the TRFCR controls.
    We also rename the cpu_enable_tracing() appropriately to
    cpu_detect_trace_filtering() and the drvdata member
    trfc => trfcr to indicate the "value" of the TRFCR_EL1.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Al Grant <al.grant@arm.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Leo Yan <leo.yan@linaro.org>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
    Link: https://lore.kernel.org/r/20210914102641.1852544-3-suzuki.poulose@arm.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    5f6fd1aa
coresight-etm4x.h 32.6 KB