os.linux: Create PPID and SYSTEM_CALL attributes on demand
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.os.linux.core / src / org / eclipse / tracecompass / internal / analysis / os / linux / core / kernel / KernelStateProvider.java
index 279e0db21c8ea9b77386c61dec2500a884787d97..4d2d1a192becf7766b18ecb3d9f3f15fcab16d1a 100644 (file)
@@ -18,6 +18,8 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.tracecompass.analysis.os.linux.core.trace.IKernelAnalysisEventLayout;
 import org.eclipse.tracecompass.common.core.NonNullUtils;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.Activator;
+import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.IPIEntryHandler;
+import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.IPIExitHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.IrqEntryHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.IrqExitHandler;
 import org.eclipse.tracecompass.internal.analysis.os.linux.core.kernel.handlers.KernelEventHandler;
@@ -44,10 +46,8 @@ import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
 import com.google.common.collect.ImmutableMap;
 
 /**
- * This is the state change input plugin for TMF's state system which handles
- * the LTTng 2.0 kernel traces in CTF format.
- *
- * It uses the reference handler defined in CTFKernelHandler.java.
+ * This is the state change input plugin for the state system which handles the
+ * kernel traces.
  *
  * @author Alexandre Montplaisir
  */
@@ -61,7 +61,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
      * Version number of this state provider. Please bump this if you modify the
      * contents of the generated state history in some way.
      */
-    private static final int VERSION = 11;
+    private static final int VERSION = 21;
 
     // ------------------------------------------------------------------------
     // Fields
@@ -112,6 +112,12 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
         builder.put(layout.eventSchedProcessFork(), new ProcessForkHandler(layout));
         builder.put(layout.eventSchedProcessExit(), new ProcessExitHandler(layout));
         builder.put(layout.eventSchedProcessFree(), new ProcessFreeHandler(layout));
+        for( String s : layout.getIPIIrqVectorsEntries()) {
+            builder.put(s, new IPIEntryHandler(layout));
+        }
+        for( String s : layout.getIPIIrqVectorsExits()) {
+            builder.put(s, new IPIExitHandler(layout));
+        }
 
         final String eventStatedumpProcessState = layout.eventStatedumpProcessState();
         if (eventStatedumpProcessState != null) {
@@ -122,7 +128,7 @@ public class KernelStateProvider extends AbstractTmfStateProvider {
             builder.put(eventSchedWakeup, new SchedWakeupHandler(layout));
         }
 
-        return NonNullUtils.checkNotNull(builder.build());
+        return builder.build();
     }
 
     // ------------------------------------------------------------------------
This page took 0.025121 seconds and 5 git commands to generate.