qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v2 6/7] plugin: add instruction execution logger


From: Pavel Dovgalyuk
Subject: [Qemu-devel] [RFC PATCH v2 6/7] plugin: add instruction execution logger
Date: Tue, 05 Jun 2018 13:39:48 +0300
User-agent: StGit/0.17.1-dirty

From: Pavel Dovgalyuk <address@hidden>

This patch adds a plugin for logging addresses of all executed instructions,
making a complete instruction-level trace.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
 plugins/exec-log/Makefile   |   19 +++++++++++++++++++
 plugins/exec-log/exec-log.c |   18 ++++++++++++++++++
 2 files changed, 37 insertions(+)
 create mode 100644 plugins/exec-log/Makefile
 create mode 100644 plugins/exec-log/exec-log.c

diff --git a/plugins/exec-log/Makefile b/plugins/exec-log/Makefile
new file mode 100644
index 0000000..86374f4
--- /dev/null
+++ b/plugins/exec-log/Makefile
@@ -0,0 +1,19 @@
+CFLAGS += -I../include -fno-PIE -fPIC -O3
+LDFLAGS += -shared
+# TODO: Windows
+DSOSUF := .so
+
+NAME:= exec-log
+BIN := $(NAME)$(DSOSUF)
+
+FILES := exec-log.o
+
+%.o: %.c
+       $(CC) -c -o $@ $< $(CFLAGS)
+
+all: $(FILES)
+       $(CC) $(LDFLAGS) -o $(BIN) $(FILES)
+
+clean:
+       rm $(FILES)
+       rm $(BIN)
diff --git a/plugins/exec-log/exec-log.c b/plugins/exec-log/exec-log.c
new file mode 100644
index 0000000..7fc7975
--- /dev/null
+++ b/plugins/exec-log/exec-log.c
@@ -0,0 +1,18 @@
+#include <stdint.h>
+#include <stdio.h>
+#include "plugins.h"
+
+bool plugin_init(const char *args)
+{
+    return true;
+}
+
+bool plugin_needs_before_insn(uint64_t pc, void *cpu)
+{
+    return true;
+}
+
+void plugin_before_insn(uint64_t pc, void *cpu)
+{
+    qemulib_log("executing instruction at %lx\n", pc);
+}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]