On Sun, Mar 22, 2015 at 10:32:51PM +0200, Alexander Shishkin wrote: > A System Trace Module (STM) is a device exporting data in System Trace > Protocol (STP) format as defined by MIPI STP standards. Examples of such > devices are Intel Trace Hub and Coresight STM. > > This abstraction provides a unified interface for software trace sources > to send their data over an STM device to a debug host. In order to do > that, such a trace source needs to be assigned a pair of master/channel > identifiers that all the data from this source will be tagged with. The > STP decoder on the debug host side will use these master/channel tags to > distinguish different trace streams from one another inside one STP > stream. > > This abstraction provides a configfs-based policy management mechanism > for dynamic allocation of these master/channel pairs based on trace > source-supplied string identifier. It has the flexibility of being > defined at runtime and at the same time (provided that the policy > definition is aligned with the decoding end) consistency. > > For userspace trace sources, this abstraction provides write()-based and > mmap()-based (if the underlying stm device allows this) output mechanism. > > For kernel-side trace sources, we provide "stm_source" device class that > can be connected to an stm device at run time. > > Cc: linux-api@xxxxxxxxxxxxxxx > Cc: Pratik Patel <pratikp@xxxxxxxxxxxxxx> > Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> > Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> > --- > Documentation/ABI/testing/configfs-stp-policy | 44 ++ > Documentation/ABI/testing/sysfs-class-stm | 14 + > Documentation/ABI/testing/sysfs-class-stm_source | 11 + > Documentation/trace/stm.txt | 77 ++ > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/hwtracing/stm/Kconfig | 8 + > drivers/hwtracing/stm/Makefile | 3 + > drivers/hwtracing/stm/core.c | 897 +++++++++++++++++++++++ > drivers/hwtracing/stm/policy.c | 467 ++++++++++++ > drivers/hwtracing/stm/stm.h | 79 ++ > include/linux/stm.h | 102 +++ > include/uapi/linux/stm.h | 47 ++ > 13 files changed, 1752 insertions(+) > create mode 100644 Documentation/ABI/testing/configfs-stp-policy > create mode 100644 Documentation/ABI/testing/sysfs-class-stm > create mode 100644 Documentation/ABI/testing/sysfs-class-stm_source > create mode 100644 Documentation/trace/stm.txt > create mode 100644 drivers/hwtracing/stm/Kconfig > create mode 100644 drivers/hwtracing/stm/Makefile > create mode 100644 drivers/hwtracing/stm/core.c > create mode 100644 drivers/hwtracing/stm/policy.c > create mode 100644 drivers/hwtracing/stm/stm.h > create mode 100644 include/linux/stm.h > create mode 100644 include/uapi/linux/stm.h > > diff --git a/Documentation/ABI/testing/configfs-stp-policy b/Documentation/ABI/testing/configfs-stp-policy > new file mode 100644 > index 0000000000..1c7ab3dbcd > --- /dev/null > +++ b/Documentation/ABI/testing/configfs-stp-policy > @@ -0,0 +1,44 @@ > +What: /config/stp-policy > +Date: Jan 2015 > +KernelVersion: 3.20 There is no 3.20 kernel version, and January 2015 is in the past :( -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html