[Top][All Lists]
[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: |
Gauresh Rane |
Subject: |
Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question |
Date: |
Fri, 25 Nov 2011 04:33:39 -0800 (PST) |
Hey,
Thanks for the reply.
The instruction that is causing problem is
436: bx lr
On single stepping and logging the trace I see that the lr has been set
correctly to jump back, in the beginning of the block and also the
microinstructions instructions generated match the following disassembly of the
elf.
290 0000042c <_init>:
291 42c: b5f8 push {r3, r4, r5, r6, r7, lr}
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
Also all the registers which are pushed to the stack, "r3, r4, r5, r6, r7, lr"
are cleared to zero
After bx lr, pc becomes 0, it does not find any code there thus throws a usage
exception and runs Usage fault handler in a loop.
What do you mean by setting up the stack? Is it done seperately? Other bx lr
calls are successfully executed.
Also I am not understanding where processor state values updated in qemu code.
Thanks,
Gauresh Rane
----- Original Message -----
From: "Peter Maydell" <address@hidden>
To: "Gauresh Rane" <address@hidden>
Cc: address@hidden
Sent: Friday, November 25, 2011 3:39:02 AM
Subject: Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner
question
On 25 November 2011 10:27, Gauresh Rane <address@hidden> wrote:
> I am working on developing a simulator on qemu. I am faced with a bug and I
> have tried solving it for three days now with no success:
> Here is my problem:
> I trying to simulate LPC 1768 cortex m3 based processor on qemu. But I am
> unable to get beyond the libc_init_array in the newlib.
> My qemu cpu jumps to program counter 0 when on jump inside init function of
> __libc_init_array of newlib.
On M profile, suddenly finding yourself at address zero usually means
that (1) the core tried to take an exception and (2) you didn't
fill in the vector table so the address in the table for whichever
exception it was was zero.
Which instruction in the block is causing the problem?
(If this is the first instruction where you tried to push something,
has the stack pointer been set up correctly?)
-- PMM
- [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Gauresh Rane, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Peter Maydell, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question,
Gauresh Rane <=
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Peter Maydell, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Max Filippov, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Gauresh Rane, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Max Filippov, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Peter Maydell, 2011/11/25
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Gauresh Rane, 2011/11/26
- Re: [Qemu-devel] Problem with translating on ARM and Qemu beginner question, Gauresh Rane, 2011/11/26