qemu-ppc
[Top][All Lists]
Advanced

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

[Qemu-ppc] PPC 440 : Endless loop executing "mtmsr r3" with r3 set to 0x


From: Pierre Mallard
Subject: [Qemu-ppc] PPC 440 : Endless loop executing "mtmsr r3" with r3 set to 0x10
Date: Wed, 3 Sep 2014 15:05:27 +0200

Hi,

I'm using qemu-2.1.0 on a ppc440 target trying to run xilkernel v5.01.a on it.
This is definitely a newbee question but I'm a bit confused on what could be causing this behavior :

Interrupt function set in xilkernel such as critical_irq, kernel_irq and non_critical_irq, have this piece of code as function header :

mtsprg  0,r3
ori         r3,16,r3
mtmsr   r3

From what I understand it raises level of instruction and data to pass in system mode (r3 is 0x10).

The problem is that at each time the last instruction is reached (mtmsr r3), pc jump automatically to IVOR12 which appears to be the Watch Dog Interrupt if I understand clearly.

Since IVOR12 calls critical_irq, which in turn execute the piece of code shown above, the system enters a endless loop instead of executing interrupt handler instruction :

kernel_irq => ... mtmsr r3 => IVOR12 => ... b critical_irq => 
critical_irq => ... mtmsr r3 => IVOR12 => ... b critical_irq
...

Can anyone give me a clue on what is going on here and what do I do wrong ?

Thanks a lot for your advice,
Pierre



reply via email to

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