coresight: Add config flag to enable branch broadcast
authorJames Clark <james.clark@arm.com>
Wed, 11 May 2022 14:45:58 +0000 (15:45 +0100)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Wed, 6 Jul 2022 15:32:08 +0000 (16:32 +0100)
commit2d693ed436a67db06d1473c22d4caee899a4e9d2
treec45eab26e0306d9bae1b3d8ea9f0e26944cfda90
parentc06475910b526159adb02d82e7299e3151113285
coresight: Add config flag to enable branch broadcast

When enabled, all taken branch addresses are output, even if the branch
was because of a direct branch instruction. This enables reconstruction
of the program flow without having access to the memory image of the
code being executed.

Use bit 8 for the config option which would be the correct bit for
programming ETMv3. Although branch broadcast can't be enabled on ETMv3
because it's not in the define ETM3X_SUPPORTED_OPTIONS, using the
correct bit might help prevent future collisions or allow it to be
enabled if needed.

Signed-off-by: James Clark <james.clark@arm.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20220511144601.2257870-2-james.clark@arm.com
drivers/hwtracing/coresight/coresight-etm-perf.c
drivers/hwtracing/coresight/coresight-etm4x-core.c
include/linux/coresight-pmu.h