[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 05/43] windbg: added helper features
From: |
Mihail Abakumov |
Subject: |
[Qemu-devel] [PATCH v2 05/43] windbg: added helper features |
Date: |
Tue, 17 Oct 2017 16:09:19 +0300 |
User-agent: |
StGit/0.17.1-dirty |
Added some helper features for windbgstub.
Signed-off-by: Mihail Abakumov <address@hidden>
Signed-off-by: Pavel Dovgalyuk <address@hidden>
Signed-off-by: Dmitriy Koltunov <address@hidden>
---
include/exec/windbgstub-utils.h | 34 ++++++++++++++++++++++++++++++++++
include/exec/windbgstub.h | 6 ++++++
2 files changed, 40 insertions(+)
diff --git a/include/exec/windbgstub-utils.h b/include/exec/windbgstub-utils.h
index 2390597f1f..1c27ee4ce8 100755
--- a/include/exec/windbgstub-utils.h
+++ b/include/exec/windbgstub-utils.h
@@ -13,7 +13,41 @@
#define WINDBGSTUB_UTILS_H
#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "log.h"
+#include "cpu.h"
#include "exec/windbgstub.h"
#include "exec/windbgkd.h"
+#ifndef TARGET_I386
+#error Unsupported Architecture
+#endif
+#ifdef TARGET_X86_64 /* Unimplemented yet */
+#error Unsupported Architecture
+#endif
+
+# define WINDBG_DEBUG(...) do { \
+ if (WINDBG_DEBUG_ON) { \
+ qemu_log(WINDBG ": " __VA_ARGS__); \
+ qemu_log("\n"); \
+ } \
+} while (false)
+
+#define WINDBG_ERROR(...) error_report(WINDBG ": " __VA_ARGS__)
+
+#define FMT_ADDR "addr:0x" TARGET_FMT_lx
+#define FMT_ERR "Error:%d"
+
+#define UINT8_P(ptr) ((uint8_t *) (ptr))
+#define UINT32_P(ptr) ((uint32_t *) (ptr))
+#define PTR(var) UINT8_P(&var)
+
+#define sizeof_field(type, field) sizeof(((type *) NULL)->field)
+
+#define READ_VMEM(cpu, addr, type) ({ \
+ type _t; \
+ cpu_memory_rw_debug(cpu, addr, PTR(_t), sizeof(type), 0); \
+ _t; \
+})
+
#endif
diff --git a/include/exec/windbgstub.h b/include/exec/windbgstub.h
index 1a6e1cc6e5..21bc552e58 100755
--- a/include/exec/windbgstub.h
+++ b/include/exec/windbgstub.h
@@ -12,6 +12,12 @@
#ifndef WINDBGSTUB_H
#define WINDBGSTUB_H
+#define WINDBG "windbg"
+
+#ifndef WINDBG_DEBUG_ON
+#define WINDBG_DEBUG_ON false
+#endif
+
int windbg_server_start(const char *device);
#endif
- [Qemu-devel] [PATCH v2 00/43] Windbg supporting, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 01/43] windbg: added empty windbgstub files, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 02/43] windbg: added windbg's KD header file, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 03/43] windbg: modified windbgkd.h, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 04/43] windbg: added '-windbg' option, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 05/43] windbg: added helper features,
Mihail Abakumov <=
- [Qemu-devel] [PATCH v2 06/43] windbg: added WindbgState, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 08/43] windbg: hook to wrmsr operation, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 07/43] windbg: added chardev, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 09/43] windbg: handler of fs/gs register, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 10/43] windbg: structures for parsing data stream, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 11/43] windbg: parsing data stream, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 12/43] windbg: send data and control packets, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 14/43] windbg: init DBGKD_ANY_WAIT_STATE_CHANGE, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 13/43] windbg: handler of parsing context, Mihail Abakumov, 2017/10/17
- [Qemu-devel] [PATCH v2 15/43] windbg: sized data buffer, Mihail Abakumov, 2017/10/17