diff options
author | Lluís Vilanova <vilanova@ac.upc.edu> | 2016-07-11 12:53:41 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2016-07-18 18:23:12 +0100 |
commit | 4815185902971c41fcdd700fa1fc3e1d9299900f (patch) | |
tree | fcdcdbb543e1ea9828e4e8820368675692f761f3 /stubs | |
parent | e1d6e0a4c0e23b30501b887211f1fa6e0eb799a3 (diff) |
trace: Add per-vCPU tracing states for events with the 'vcpu' property
Each vCPU gets a 'trace_dstate' bitmap to control the per-vCPU dynamic
tracing state of events with the 'vcpu' property.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'stubs')
-rw-r--r-- | stubs/Makefile.objs | 1 | ||||
-rw-r--r-- | stubs/trace-control.c | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs index 7cdcad4fdb..55edd15d71 100644 --- a/stubs/Makefile.objs +++ b/stubs/Makefile.objs @@ -30,6 +30,7 @@ stub-obj-y += runstate-check.o stub-obj-y += set-fd-handler.o stub-obj-y += slirp.o stub-obj-y += sysbus.o +stub-obj-y += trace-control.o stub-obj-y += uuid.o stub-obj-y += vm-stop.o stub-obj-y += vmstate.o diff --git a/stubs/trace-control.c b/stubs/trace-control.c new file mode 100644 index 0000000000..fe59836fce --- /dev/null +++ b/stubs/trace-control.c @@ -0,0 +1,28 @@ +/* + * Interface for configuring and controlling the state of tracing events. + * + * Copyright (C) 2014-2016 Lluís Vilanova <vilanova@ac.upc.edu> + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "trace/control.h" + + +void trace_event_set_state_dynamic(TraceEvent *ev, bool state) +{ + TraceEventID id; + assert(trace_event_get_state_static(ev)); + id = trace_event_get_id(ev); + trace_events_enabled_count += state - trace_events_dstate[id]; + trace_events_dstate[id] = state; +} + +void trace_event_set_vcpu_state_dynamic(CPUState *vcpu, + TraceEvent *ev, bool state) +{ + /* should never be called on non-target binaries */ + abort(); +} |