[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 03/12] Refactor and enhance break/watchpoint API
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] Re: [PATCH 03/12] Refactor and enhance break/watchpoint API |
Date: |
Sat, 15 Nov 2008 09:29:59 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Jan Kiszka wrote:
> Anthony Liguori wrote:
>> Jan Kiszka wrote:
>>> This patch prepares the QEMU cpu_watchpoint/breakpoint API to allow the
>>> succeeding enhancements this series comes with.
>>>
>>> First of all, it overcomes MAX_BREAKPOINTS/MAX_WATCHPOINTS by switching
>>> to dynamically allocated data structures that are kept in linked lists.
>>> This also allows to return a stable reference to the related objects,
>>> required for later introduced x86 debug register support.
>>>
>>> Breakpoints and watchpoints are stored with their full information set
>>> and an additional flag field that makes them easily extensible for use
>>> beyond pure guest debugging.
>>>
>>> Finally, this restructuring lays the foundation for KVM to hook into
>>> the debugging infrastructure, providing its own services where hardware
>>> virtualization demands it. Once QEMUAccel is considered for merge,
>>> those entry point should be included into its abstraction layer so that
>>> accellerators can hook in even more cleanly.
>>>
>> We've merged KVM support (although not QEMUAccel), so perhaps you can
>> also add the KVM hooks in this series that you are thinking of?
>
> I will check how much of my kvm patches for guest debugging can already
> be ported over.
>
> That topic is more complex - if you recall my according series - as kvm
> requires kernel changes to gain full guest debugging support. I'm not
> even sure if it makes sense to add support for the current kernel
> interface as it is too restricted (no watchpoints, only 4 breakpoints).
> However, will re-check if some patch re-ordering may help the migration.
>
I had a closer look meanwhile. Given the fact that there are no kvm bits
for supporting guest debugging in qemu yet and that it would take some
additional effort for me to establish this for the old interface, I
would like to skip this step and suggest a different roadmap instead:
o integrate plain qemu bits for full guest debugging (this series)
o wait for Avi to merge them into kvm-userspace
o rebase my kvm guest debugging series over kvm-userspace
(kernel bits are already up to date) and submit it for review/merge
o port stabilized kvm guest debugging over to qemu, but demanding the
new kernel ABI
OK? Time is a scarce resource, so I would really like to omit
stabilizing a feature based on an outdated interface to a still too
young (for daily use, including guest debugging) kvm support of qemu.
Jan
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 02/12] Return appropriate watch message to gdb, (continued)
[Qemu-devel] [PATCH 04/12] Set mem_io_vaddr on io_read, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 06/12] Restore pc on watchpoint hits, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 11/12] Introduce BP_CPU as a breakpoint type, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 08/12] qemu: gdbstub: manage CPUs as threads, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 09/12] Introduce BP_WATCHPOINT_HIT flag, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 07/12] Remove premature memop TB terminations, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 01/12] Refactor translation block CPU state handling, Jan Kiszka, 2008/11/03
[Qemu-devel] [PATCH 12/12] x86: Debug register emulation, Jan Kiszka, 2008/11/03