Cover Letter Detail
Show a cover letter.
GET /api/covers/818531/?format=api
{ "id": 818531, "url": "http://patchwork.ozlabs.org/api/covers/818531/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/150642384156.3900.3326424823772221077.stgit@Misha-PC.lan02.inno/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<150642384156.3900.3326424823772221077.stgit@Misha-PC.lan02.inno>", "list_archive_url": null, "date": "2017-09-26T11:04:06", "name": "[00/43] Windbg supporting", "submitter": { "id": 71645, "url": "http://patchwork.ozlabs.org/api/people/71645/?format=api", "name": "Mikhail Abakumov", "email": "mikhail.abakumov@ispras.ru" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/150642384156.3900.3326424823772221077.stgit@Misha-PC.lan02.inno/mbox/", "series": [ { "id": 5104, "url": "http://patchwork.ozlabs.org/api/series/5104/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=5104", "date": "2017-09-26T11:04:06", "name": "Windbg supporting", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/5104/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/818531/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "Received": [ "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y1dQ836lNz9t3Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 21:04:48 +1000 (AEST)", "from localhost ([::1]:46685 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dwnfS-0002yI-G3\n\tfor incoming@patchwork.ozlabs.org; Tue, 26 Sep 2017 07:04:46 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:58637)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mikhail.abakumov@ispras.ru>) id 1dwnew-0002xm-9K\n\tfor qemu-devel@nongnu.org; Tue, 26 Sep 2017 07:04:18 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <mikhail.abakumov@ispras.ru>) id 1dwnet-00087G-4L\n\tfor qemu-devel@nongnu.org; Tue, 26 Sep 2017 07:04:14 -0400", "from mail.ispras.ru ([83.149.199.45]:51582)\n\tby eggs.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <mikhail.abakumov@ispras.ru>) id 1dwnes-00086W-Ku\n\tfor qemu-devel@nongnu.org; Tue, 26 Sep 2017 07:04:11 -0400", "from Misha-PC.lan02.inno (unknown [85.142.117.226])\n\tby mail.ispras.ru (Postfix) with ESMTPSA id AE00754006B;\n\tTue, 26 Sep 2017 14:04:07 +0300 (MSK)" ], "From": "Mihail Abakumov <mikhail.abakumov@ispras.ru>", "To": "qemu-devel@nongnu.org", "Date": "Tue, 26 Sep 2017 14:04:06 +0300", "Message-ID": "<150642384156.3900.3326424823772221077.stgit@Misha-PC.lan02.inno>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 3.x [fuzzy]", "X-Received-From": "83.149.199.45", "Subject": "[Qemu-devel] [PATCH 00/43] Windbg supporting", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Cc": "sw@weilnetz.de, lprosek@redhat.com, dovgaluk@ispras.ru,\n\trkagan@virtuozzo.com, pbonzini@redhat.com, den@openvz.org", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "We made the debugger module WinDbg (like GDB) for QEMU. This is the replacement of the remote stub in Windows kernel. Used for remote Windows kernel debugging without debugging mode.\n\nWinDbg is a multipurpose debugger for the Microsoft Windows computer operating system, distributed by Microsoft. Recent versions of WinDbg have been and are being distributed as part of the free Debugging Tools for Windows suite.\n\nHow to start debugging QEMU using WinDbg:\n Run QEMU with next option:\n -windbg pipe:<name>\n QEMU will start and pause for waiting WinDbg connection.\n Run WinDbg with next options:\n -b -k com:pipe,baud=115200,port=\\\\.\\pipe\\<name>,resets=0\n Wait for debugger connect to kernel.\n\nNote: You can add Symbol Search Path in WinDbg such as srv*c:\\tmp*http://msdl.microsoft.com/download/symbols.\n\nHow it works:\nThe WinDbg debugger has the possibility of connecting to a remote debug service (Kdsrv.exe) in the Windows kernel. Therefore, it is possible to connect to the guest system running in the QEMU emulator. Kernel debugging is possible only with the enabled debugging mode, may change at the same time. Our module of WinDbg debugger for QEMU is an alternative of the remote debugging service in the kernel. Thus, the debugger connects to the debugging module, not to the kernel of the operating system. The module obtains all the necessary information answering debugger requests from the QEMU emulator. At the same time for debugging there is no need to enable debugging mode in the kernel. This leads to hidden debugging. Our module supports all features of WinDbg regarding remote debugging, besides interception of events and exceptions. Only i386 is supported now.\n\n---\n\nMihail Abakumov (43):\n windbg: added empty windbgstub files\n windbg: added windbg's KD header file\n windbg: modified windbgkd.h\n windbg: added '-windbg' option\n windbg: added helper features\n windbg: added WindbgState\n windbg: added chardev\n windbg: hook to wrmsr operation\n windbg: handler of fs/gs register\n windbg: structures for parsing data stream\n windbg: parsing data stream\n windbg: send data and control packets\n windbg: handler of parsing context\n windbg: init DBGKD_ANY_WAIT_STATE_CHANGE\n windbg: sized data buffer\n windbg: generate ExceptionStateChange\n windbg: generate LoadSymbolsStateChange\n windbg: windbg_vm_stop\n windbg: implemented windbg_process_control_packet\n windbg: implemented windbg_process_data_packet\n windbg: implemented windbg_process_manipulate_packet\n windbg: implemented kd_api_read_virtual_memory and kd_api_read_virtual_memory\n windbg: kernel's structures\n windbg: implemented kd_api_get_context and kd_api_set_context\n windbg: implemented kd_api_read_control_space and kd_api_write_control_space\n windbg: implemented windbg_read_context\n windbg: implemented windbg_write_context\n windbg: implemented windbg_read_ks_regs\n windbg: implemented windbg_write_ks_regs\n windbg: implemented windbg_set_sr\n windbg: implemented windbg_set_dr\n windbg: implemented windbg_set_dr7\n windbg: implemented windbg_hw_breakpoint_insert and windbg_hw_breakpoint_remove\n windbg: implemented kd_api_write_breakpoint and kd_api_restore_breakpoint\n windbg: debug exception subscribing\n windbg: implemented kd_api_continue\n windbg: implemented kd_api_read_io_space and kd_api_write_io_space\n windbg: implemented kd_api_read_physical_memory and kd_api_write_physical_memory\n windbg: implemented kd_api_get_version\n windbg: implemented kd_api_read_msr and kd_api_write_msr\n windbg: implemented kd_api_search_memory\n windbg: implemented kd_api_fill_memory\n windbg: implemented kd_api_query_memory\n\n\n Makefile.target | 5 \n cpus.c | 18 \n gdbstub.c | 4 \n include/exec/windbgkd.h | 1030 ++++++++++++++++++++++\n include/exec/windbgstub-utils.h | 132 +++\n include/exec/windbgstub.h | 21 \n include/sysemu/sysemu.h | 2 \n qemu-options.hx | 8 \n target/i386/misc_helper.c | 3 \n vl.c | 8 \n windbgstub-utils.c | 1788 +++++++++++++++++++++++++++++++++++++++\n windbgstub.c | 464 ++++++++++\n 12 files changed, 3482 insertions(+), 1 deletion(-)\n create mode 100755 include/exec/windbgkd.h\n create mode 100755 include/exec/windbgstub-utils.h\n create mode 100755 include/exec/windbgstub.h\n create mode 100755 windbgstub-utils.c\n create mode 100755 windbgstub.c\n\n--\nThanks,\nMihail Abakumov" }