Sumedh,
I've just noticed you are using the bla instruction, which use absolute
target address: are you sure the C code gets even be executed ?
I don't know how the compiler successfully assemble your code because the
binary is supposed to be position independant code (PIC): you should rather
use
The reason that i m using bla is that i am writing the interrupt
handler from dec_start: to dec_end:
then i am relocating this code to its corresponding vector
location(0x900)...As this relocated code is gonna be executed on
occurrence of interrupt, i cant use bl instruction...i have to go for
I found out the problem...it was somewhere in my code...actually the
link register was getting over-written...
Thanks for help...
Regards,
Sumedh
On Tue, Feb 24, 2009 at 5:23 PM, sumedh tirodkar
sumedhtirod...@gmail.com wrote:
The reason that i m using bla is that i am writing the interrupt
I am using PowerPC 7447A...I am trying to port SA-RTL on PowerPC...
I am using
bla function_name
from the assembly code to call the function in C file...This i am
doing from interrupt handler of the decrementer...
If any more details are required, please let me know...
Regards,
Sumedh
On Mon,
On Mon, Feb 23, 2009 at 8:03 AM, sumedh tirodkar
sumedhtirod...@gmail.comwrote:
I am using PowerPC 7447A...I am trying to port SA-RTL on PowerPC...
What I said earlier was: You need to tell people what cpu you're using, what
linux kernel, etc etc etc.
Fine, we know the CPU. What kernel are
Alright...I am trying to develop a system of my own..
Consider that i am not using any linux kernel...I m writing some
program right from scratch.
The major steps that i have taken are...
1. Started with a assembly file...
2. Have relocated the interrupt handlers to there respective
Hi Sumedh,
You may check the context in which your CPU in running the C code from
interrupt context (ie stack pointer (r1), kernel locks disabling
rescheduling etc..) and double check the IRQ originator (the decrementer) is
acknowlegded somewhere your handler before enabling back interrupts, else
I have initialised to stack pointer(r1) properly...actually...i went
thru the object dump...bt when i juz use
bla function_name_handler
the link register is not getting pushed on to the stack in the prolog
of that function...so the stack is basically not coming into the
picture...
@IRQ
In the handler for decrementer interrupt...there is a call to a C function...
Now if the call is removed...the decrementer interrupt works perfectly fine...
But if the C function is present, then the decrementer interrupt stops
coming after say 5-6 times...
Not able to find any reasoning for the