diff options
Diffstat (limited to 'qemu/trace/ftrace.c')
-rw-r--r-- | qemu/trace/ftrace.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/qemu/trace/ftrace.c b/qemu/trace/ftrace.c deleted file mode 100644 index e953922f5..000000000 --- a/qemu/trace/ftrace.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Ftrace trace backend - * - * Copyright (C) 2013 Hitachi, Ltd. - * Created by Eiichi Tsukata <eiichi.tsukata.xh@hitachi.com> - * - * This work is licensed under the terms of the GNU GPL, version 2. See - * the COPYING file in the top-level directory. - * - */ - -#include "qemu/osdep.h" -#include "trace.h" -#include "trace/control.h" - -int trace_marker_fd; - -static int find_debugfs(char *debugfs) -{ - char type[100]; - FILE *fp; - - fp = fopen("/proc/mounts", "r"); - if (fp == NULL) { - return 0; - } - - while (fscanf(fp, "%*s %" STR(PATH_MAX) "s %99s %*s %*d %*d\n", - debugfs, type) == 2) { - if (strcmp(type, "debugfs") == 0) { - break; - } - } - fclose(fp); - - if (strcmp(type, "debugfs") != 0) { - return 0; - } - return 1; -} - -bool ftrace_init(void) -{ - char debugfs[PATH_MAX]; - char path[PATH_MAX]; - int debugfs_found; - int trace_fd = -1; - - debugfs_found = find_debugfs(debugfs); - if (debugfs_found) { - snprintf(path, PATH_MAX, "%s/tracing/tracing_on", debugfs); - trace_fd = open(path, O_WRONLY); - if (trace_fd < 0) { - perror("Could not open ftrace 'tracing_on' file"); - return false; - } else { - if (write(trace_fd, "1", 1) < 0) { - perror("Could not write to 'tracing_on' file"); - close(trace_fd); - return false; - } - close(trace_fd); - } - snprintf(path, PATH_MAX, "%s/tracing/trace_marker", debugfs); - trace_marker_fd = open(path, O_WRONLY); - if (trace_marker_fd < 0) { - perror("Could not open ftrace 'trace_marker' file"); - return false; - } - } else { - fprintf(stderr, "debugfs is not mounted\n"); - return false; - } - - return true; -} |