+
+Mathieu Desnoyers -- September 2005
+
The 'genevent' program parses event descriptions and generates
the inline functions to record events in the kernel.
Right now, the program can only parse simple structure, if a
structure has a nested structure, it will not work.
+Genevent will soon go through a rewrite, but for now, the strings should be put
+*** AT THE END *** of a structure : they will be put there anyways.
+
There are several files in the directory:
genevent.c, genevent.h, crc32.tab, parser.c and parser.h
'core.xml' is an example event description file.
+Here is a brief description of how to use genevent.
+
+make
+make install
+
+
+* Add new events to the kernel with genevent
+
+su -
+cd /usr/local/share/LinuxTraceToolkitViewer/facilities
+cp process.xml yourfacility.xml
+ * edit yourfacility.xml to fit your needs.
+cd /tmp
+/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml
+cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.2/include/linux/ltt
+cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.2/ltt
+ * edit the kernel file you want to instrument
+ - Add #include <linux/ltt/ltt-facility-yourfacility.h> at the beginning
+ of the file.
+ - Add a call to the tracing functions. See their names and parameters in
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.2/include/linux/ltt/ltt-facility-yourfacility.h
+
+