Sumedh,<br><br>I&#39;ve just noticed you are using the &quot;bla&quot; instruction, which use absolute target address: are you sure the C code gets even be executed ?<br>I don&#39;t know how the compiler successfully assemble your code because the binary is supposed to be position independant code (PIC): you should rather use &quot;bl&quot; instruction (relative branch).<br>
<br>--<br>sj<br><br><div class="gmail_quote">2009/2/23 sumedh tirodkar <span dir="ltr">&lt;<a href="mailto:sumedhtirodkar@gmail.com">sumedhtirodkar@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
I have initialised to stack pointer(r1) properly...actually...i went<br>
thru the object dump...bt when i juz use<br>
<br>
  bla &lt;function_name_handler&gt;<br>
<br>
the link register is not getting pushed on to the stack in the prolog<br>
of that function...so the stack is basically not coming into the<br>
picture...<br>
@IRQ originator, that doesn&#39;t seem to be a problem...<br>
<br>
The only thing that i am able to think of is that when i do a &quot;bla&quot;,<br>
the return address is not getting stored in link register...and i m<br>
not able to figure out why...<br>
<br>
Regards,<br>
<font color="#888888">Sumedh<br>
</font><div><div></div><div class="Wj3C7c"><br>
On Mon, Feb 23, 2009 at 11:03 PM, <a href="mailto:sjoyeau@wanadoo.fr">sjoyeau@wanadoo.fr</a> &lt;<a href="mailto:sjoyeau@wanadoo.fr">sjoyeau@wanadoo.fr</a>&gt; wrote:<br>
&gt; Hi Sumedh,<br>
&gt;<br>
&gt; You may check the context in which your CPU in running the C code from<br>
&gt; interrupt context (ie stack pointer (r1), kernel locks disabling<br>
&gt; rescheduling etc..) and double check the IRQ originator (the decrementer) is<br>
&gt; acknowlegded somewhere your handler before enabling back interrupts, else<br>
&gt; your handler gets fired.<br>
&gt;<br>
&gt; --<br>
&gt; sj<br>
&gt;<br>
&gt; 2009/2/23 sumedh tirodkar &lt;<a href="mailto:sumedhtirodkar@gmail.com">sumedhtirodkar@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Alright...I am trying to develop a system of my own..<br>
&gt;&gt; Consider that i am not using any linux kernel...I m writing some<br>
&gt;&gt; program right from scratch.........<br>
&gt;&gt; The major steps that i have taken are...<br>
&gt;&gt;<br>
&gt;&gt; 1. Started with a assembly file...<br>
&gt;&gt; 2. Have relocated the interrupt handlers to there respective<br>
&gt;&gt; positions...The interrupt handlers are written in assembly language...<br>
&gt;&gt; 3. Initialised Decrementer register to get an interrupt after some<br>
&gt;&gt; interval...<br>
&gt;&gt; 4. Jump to some function using<br>
&gt;&gt;<br>
&gt;&gt;    bl &lt;function_name_main&gt;<br>
&gt;&gt;<br>
&gt;&gt;    function_name_main which will have a infinite while loop..<br>
&gt;&gt; This works fine i.e. the interrupts(decrementer interrupt to be more<br>
&gt;&gt; specific) work fine...I have initialised serial port to get the<br>
&gt;&gt; output...<br>
&gt;&gt;<br>
&gt;&gt; Now, the problem that i am facing....<br>
&gt;&gt;<br>
&gt;&gt; If in interrupt handler of the decrementer, i make a call to some C<br>
&gt;&gt; function in some other C file...using the follwing statement...<br>
&gt;&gt;<br>
&gt;&gt; Dec_handler:  /* I have relocated this to interrupt vector address of<br>
&gt;&gt; decrementer interrupt*/<br>
&gt;&gt;     /*code to print using serial port*/<br>
&gt;&gt;     bla &lt;function_name_handler&gt; /*code to call some function in C file*/<br>
&gt;&gt;     /*code to print using serial port---but i m never able to see this<br>
&gt;&gt; output*/<br>
&gt;&gt;     RFI<br>
&gt;&gt;<br>
&gt;&gt; This starts creating a problem...somehow we dont return to this code<br>
&gt;&gt; after the end of the function_name_handler...<br>
&gt;&gt; Consider the following code for the function_name_handler:<br>
&gt;&gt; void function_name_handler(void)<br>
&gt;&gt; {<br>
&gt;&gt;   /*Some action*/<br>
&gt;&gt; }<br>
&gt;&gt;<br>
&gt;&gt; So, if its possible for anyone to help me with this...please reply...<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; Sumedh<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Feb 23, 2009 at 8:18 PM, Matt Gessner &lt;<a href="mailto:mgessner@gmail.com">mgessner@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Mon, Feb 23, 2009 at 8:03 AM, sumedh tirodkar<br>
&gt;&gt; &gt; &lt;<a href="mailto:sumedhtirodkar@gmail.com">sumedhtirodkar@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I am using PowerPC 7447A...I am trying to port SA-RTL on PowerPC...<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; What I said earlier was: You need to tell people what cpu you&#39;re using,<br>
&gt;&gt; &gt; what<br>
&gt;&gt; &gt; linux kernel, etc etc etc.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Fine, we know the CPU.  What kernel are you using?  Is it ancient?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I doubt the information below is going to be useful...<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I am using<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; bla &lt;function_name&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; from the assembly code to call the function in C file...This i am<br>
&gt;&gt; &gt;&gt; doing from interrupt handler of the decrementer...<br>
&gt;&gt; &gt;&gt; If any more details are required, please let me know...<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Linuxppc-dev mailing list<br>
&gt;&gt; <a href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</a><br>
&gt;&gt; <a href="https://ozlabs.org/mailman/listinfo/linuxppc-dev" target="_blank">https://ozlabs.org/mailman/listinfo/linuxppc-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; ------------------<br>
&gt; Sylvain JOYEAU<br>
&gt; Freelance Engineer<br>
&gt; Software RT-OS R&amp;D<br>
&gt; <a href="mailto:sylvain.joyeau@gmail.com">sylvain.joyeau@gmail.com</a><br>
&gt; Tél: +33-(0)667 477 052<br>
&gt; &quot;A good idea is one side of the coin. The other side is the practical<br>
&gt; usefulness&quot;. J. Liedke.<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>------------------<br>Sylvain JOYEAU<br>Freelance Engineer<br>Software RT-OS R&amp;D<br><a href="mailto:sylvain.joyeau@gmail.com">sylvain.joyeau@gmail.com</a><br>
Tél: +33-(0)667 477 052<br>&quot;A good idea is one side of the coin. The other side is the practical usefulness&quot;. J. Liedke.<br>