CoreSight STM Support

Registered by Michael Hope

Add support for the CoreSight System Trace Macrocell.

Blueprint information

Michael Hope
Michael Hope
Needs approval
Series goal:
Accepted for trunk
Informational Informational
Milestone target:
milestone icon backlog
Started by
Matthew Gretton-Dann
Completed by
Matthew Gretton-Dann

Related branches



[matthew-gretton-dann] No further member interest - not moving to Jira.
[michaelh1] dropped to 'Not' as Management are deciding how to proceed

Work items (discussion):
Collate existing ST-E, TI, and ARM implementations: TODO
Collate ST-E, TI, ARM, and generic requirements: TODO
Document the system brief level requirements: TODO
Start a discussion on the existing ST-E lkml patch: TODO
Start communication with ARM on opening their driver: TODO

Work items (drivers):
Discuss design for the low level driver upstream: TODO
Implement top of the stack: TODO
Upstream: TODO
Implement the TI STM 1.0 driver: TODO
Upstream: TODO
Implement the TI STM 2.0 driver: TODO
Upstream: TODO
Mock up how the ST-E driver could fit into the stack: TODO
Add switchable OST headers: TODO
Add a configuration interface via module parameters[1]: TODO

Work items (basic functionality):
Investigate how to capture user space streams: TODO
Add a way of capturing user space streams: TODO
Integrate with TI host based toolset: TODO
Demonstrate: TODO

Work items (wider capture):
Add a way of capturing printks(): TODO
Add a way of capturing perf data: TODO
Add a way of capturing ftrace data: TODO
Demonstrate against the TI toolset: TODO

Work items (rounding out):
Investigate configuration interfaces: TODO
Add a method for vendor specific configuration: TODO
Make OST headers configurable: TODO
Add hooks for configuring the host interface for ST-E: TODO

[1] michaelh1 assumes a iterative approach to configuring the module. Using module parameters is very easy and might be acceptable for a version 0. sysfs or similar past that...

Needs a specification. Needs better work items.

This is a prerequisite for the use of STM by profiling/instrumentation tools to push their data out
to a collection tool with low overhead and low probe effect. Both kernel and user-mode
code could use STM to push discrete timestamped events, and larger payloads, out to a collection tool,
or collect it in an on-chip ring buffer to support a "flight recorder" feature. On top of the basic STM
implementation we may need a spec to standardize particular kinds of information carried over STM
so that any tool could consume them.


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.