]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add support for the Coresight technology from ARM Ltd.
authorbr <br@FreeBSD.org>
Thu, 5 Apr 2018 15:45:54 +0000 (15:45 +0000)
committerbr <br@FreeBSD.org>
Thu, 5 Apr 2018 15:45:54 +0000 (15:45 +0000)
commit7d671d9b44b0b2e9671d6cda2f350eae2dbaee9d
treec03d0bd94cfcbeea8eb43541a9dd82989aaca07d
parent0b35cef2b2407a037c58163e4b91d921ba2eb227
Add support for the Coresight technology from ARM Ltd.

ARM Coresight is a solution for debug and trace of complex SoC designs.

This includes a collection of drivers for ARM Coresight interconnect
devices within a small Coresight framework.

Supported devices are:
o Embedded Trace Macrocell v4 (ETMv4)
o Funnel
o Dynamic Replicator
o Trace Memory Controller (TMC)
o CPU debug module

Devices are connected to each other internally in SoC and the
configuration of each device endpoints is described in FDT.

Typical trace flow (as found on Qualcomm Snapdragon 410e):
CPU0 -> ETM0 -> funnel1 -> funnel0 -> ETF -> replicator -> ETR -> DRAM
CPU1 -> ETM1 -^
CPU2 -> ETM2 -^
CPU3 -> ETM3 -^

Note that both Embedded Trace FIFO (ETF) and Embedded Trace Router (ETR)
are hardware configurations of TMC.

This is required for upcoming HWPMC tracing support.

This is tested on single-core system only.

Reviewed by: andrew (partially)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14618
13 files changed:
sys/arm64/coresight/coresight-cmd.c [new file with mode: 0644]
sys/arm64/coresight/coresight-cpu-debug.c [new file with mode: 0644]
sys/arm64/coresight/coresight-dynamic-replicator.c [new file with mode: 0644]
sys/arm64/coresight/coresight-etm4x.c [new file with mode: 0644]
sys/arm64/coresight/coresight-etm4x.h [new file with mode: 0644]
sys/arm64/coresight/coresight-funnel.c [new file with mode: 0644]
sys/arm64/coresight/coresight-funnel.h [new file with mode: 0644]
sys/arm64/coresight/coresight-tmc.c [new file with mode: 0644]
sys/arm64/coresight/coresight-tmc.h [new file with mode: 0644]
sys/arm64/coresight/coresight.c [new file with mode: 0644]
sys/arm64/coresight/coresight.h [new file with mode: 0644]
sys/arm64/coresight/coresight_if.m [new file with mode: 0644]
sys/conf/files.arm64