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 | |
14 | void trace_event_set_state_dynamic_init(TraceEvent *ev, bool state) |
15 | { |
16 | trace_event_set_state_dynamic(ev, state); |
17 | } |
18 | |
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 | |
40 | void trace_event_set_vcpu_state_dynamic(CPUState *vcpu, |
41 | TraceEvent *ev, bool state) |
42 | { |
43 | /* should never be called on non-target binaries */ |
44 | abort(); |
45 | } |
46 | |
47 | void trace_init_vcpu(CPUState *vcpu) |
48 | { |
49 | /* should never be called on non-target binaries */ |
50 | abort(); |
51 | } |
52 |