qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Physical address debugging


From: Jan Kiszka
Subject: Re: [Qemu-devel] Physical address debugging
Date: Fri, 26 Aug 2011 19:55:53 +0200
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

On 2011-08-26 19:34, Blue Swirl wrote:
> 2011/8/26 Jan Kiszka <address@hidden>:
>> On 2011-08-26 16:21, Zeus Gómez Marmolejo wrote:
>>> Hi all,
>>>
>>> I just want to do a very simple task. I'm using QEMU for debugging a new OS
>>> and I see that there is a memory region that is being updated by an unknown
>>> task. I don't know if it's another process or the kernel itself.
>>>
>>> So I would like to put a physical memory watchpoint. I don't know how to do
>>> that. As the GDB stub is operating using virtual addressing, I cannot place
>>> a watchpoint on an address as it's not stopping.
>>>
>>> To make it short, I want the equivalent of the Bochs command "watch write
>>> addr", which inserts a write watch point at physical address 'addr'. I
>>> haven't seen this is possible on the QEMU monitor...
>>
>> Indeed, it isn't. It's impossible with KVM (due to lacking hardware
>> support) but would be feasible with TCG if you extend (or ad-hoc hack)
>> QEMU code accordingly.
> 
> Why impossible? The existing watchpoints replace original physical
> memory with io_mem_watch MMIO, virtual addresses are translated to
> physical in exec.c:tlb_set_page(). The only missing piece is to allow
> setting watchpoints with physical addresses directly.
> 
> Since KVM can handle MMIO, I think it should also be able to handle
> watchpoints.

KVM uses x86 debug registers for watchpoints. And the SDM states:

16.2.1 Debug Address Registers (DR0-DR3)

Each of the debug-address registers (DR0 through DR3) holds the 32-bit
linear address of a breakpoint (see Figure 16-1). Breakpoint comparisons
are made before physical address translation occurs. [...]

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

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