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: Blue Swirl
Subject: Re: [Qemu-devel] Physical address debugging
Date: Fri, 26 Aug 2011 17:34:14 +0000

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.

> The alternative is to trace the guest OS's page mapping and set watches
> on all virtual addresses that refer to the physical one in question. But
> I guess that is already part of what you want to debug...
>
> 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]