xref: /qemu/stubs/trace-control.c (revision 89aafcf2)
1 /*
2  * Interface for configuring and controlling the state of tracing events.
3  *
4  * Copyright (C) 2014-2016 Lluís Vilanova <vilanova@ac.upc.edu>
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7  * See the COPYING file in the top-level directory.
8  */
9 
10 #include "qemu/osdep.h"
11 #include "trace/control.h"
12 
13 
trace_event_set_state_dynamic_init(TraceEvent * ev,bool state)14 void trace_event_set_state_dynamic_init(TraceEvent *ev, bool state)
15 {
16     trace_event_set_state_dynamic(ev, state);
17 }
18 
trace_event_set_state_dynamic(TraceEvent * ev,bool state)19 void trace_event_set_state_dynamic(TraceEvent *ev, bool state)
20 {
21     bool state_pre;
22     assert(trace_event_get_state_static(ev));
23 
24     /*
25      * We ignore the "vcpu" property here, since there's no target code. Then
26      * dstate can only be 1 or 0.
27      */
28     state_pre = *(ev->dstate);
29     if (state_pre != state) {
30         if (state) {
31             trace_events_enabled_count++;
32             *(ev->dstate) = 1;
33         } else {
34             trace_events_enabled_count--;
35             *(ev->dstate) = 0;
36         }
37     }
38 }
39