qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner quest


From: Max Filippov
Subject: Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question
Date: Fri, 25 Nov 2011 19:35:04 +0400
User-agent: KMail/1.13.7 (Linux/2.6.40.6-0.fc15.x86_64; KDE/4.6.5; x86_64; ; )

> Breakpoint 7, cpu_arm_exec (env=0x102033200) at ~/qemu-0.15.0/cpu-exec.c:557
> 557                         next_tb = tcg_qemu_tb_exec(env, tc_ptr);
> (gdb) p/x env->regs
> $13 = {0x4002c00c, 0x20, 0x4, 0x0, 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, 0x0, 
> 0x0, 0x30, 0x10007fa8, 0x560d, 0x560c}
> (gdb) s
> 558                         if ((next_tb & 3) == 2) {
> (gdb) p/x env->regs
> $14 = {0x10048000, 0x20, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
> 0x30, 0x10007fb8, 0x560d, 0x0}
> 
> How to check access to unallocated memory? It's not seg faulting.

290 0000042c <_init>:
291  42c:   b5f8        push    {r3, r4, r5, r6, r7, lr}

set breakpoint here and see with x/6wx $sp whether saved register values are 
good.

292  42e:   bf00        nop
293  430:   bcf8        pop {r3, r4, r5, r6, r7}
294  432:   bc08        pop {r3}
295  434:   469e        mov lr, r3
296  436:   4770        bx  lr

Or you can find physical address under $sp, and then via monitor command 'info 
mtree' check whether there's physical memory by that address.

To find physical address you can either uncomment #define DEBUG_TLB in the 
exec.c to make it print virtual-to-physical translations or
set breakpoint at cpu_arm_handle_mmu_fault and inspect address and phys_addr 
values.

Thanks.
-- Max



reply via email to

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