<br><div class="gmail_quote">Hi Joel,<br>           First of all thanks a lot for all the support and suggestions. I am overwhelmed by the response. I am also very sorry for such a late response. I am going through every mail the moment you post it to the list. But I wanted to respond once I had a basic knowledge of what you were trying to tell me. I nearly went through the whole wiki, now I am reading the pdf that Daron sent me and online docs of 4.99. <br>

<br>    All your mails has helped me a lot to understand what is happening down under. I have understood few things you have explained, though I haven't understood all. I will ask you as and when I need I haven't understood inline. <br>

<br>Before that, I wanted to get the RTEMS running to get the taste of how Time Stamps are working now. So I checked out the CVS HEAD and then installed all the prebuilt tools from ftp for F8-RTEMS-4.9. Since I have Ubuntu installed on my PC, I converted those rpms to debs using alien and installed all the prebuilt tools. When I did bootstrap and configure there were no errors as such, I did all these for sparc CPU. When I did "make all" it said compiler cannot create executables, as its given in the wiki I installed libc6-dev package, since thats the Ubuntu version of libc-dev. But still the make fails. Can someone help me please. If there is no other go, I will install F8 through XEN. But somehow I want to get this working on Ubuntu, so in later stages we can also provide debian packages along with rpms. I can help you with this, maybe after SoC.<br>

<br><div class="gmail_quote"><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">That project in particular requires more knowledge of C and more attention<br>


to detail than deep algorithmic knowledge.  </blockquote></div><div><br> I have a fair knowledge of C. I hope I have the requirements you have mentioned above.  <br><br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Remember the issue is that<br>
RTEMS used to have all time based upon clock ticks, then we added nanosecond<br>
time granularity and kept the time in structure timespec.  It isn't easy or<br>
particularly efficient to do math on struct timespec so this project is<br>
adding the capability to configure on a per-target basis 64-bit time.<br>
You do<br>
have to implement it but since the math will be on the native type<br>
"unsigned<br>
long long" instead of int or long, that part isn't rough.<br>
</blockquote></div><div><br>I did not understand what "per-target basis" means here. Can you please explain?<br><br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

The rougher side of the effort is in adding a supercore (cpukit/score)<br>
timestamp handler (e.g. roughly an opaque C "class") and going through<br>
the supercore and using that instead of struct timespec where appropriate.<br>
</blockquote></div><div><br>I am reading the Documentation of Super Core to understand how the APIs are structured. <br><br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

As the Wiki description states, some times need to be native, others have to<br>
be in API formats.  Each case has to be evaluated so the conversions are<br>
minimized.</blockquote><div> </div></div><div>Ok I got a rough idea. But I still need to work on it.<br><br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Follow the code from one of the clock get time or set time routines down the<br>
layers to the lowest core methods and you will get a feel.  You will see<br>
routines<br>
with "convert" in their name or a name like "from XXX" or "to XXX" as<br>
the names.<br>
Start at cpukit/rtems/src/clockset.c for one case.  There are similar<br>
routines<br>
in cpukit/posix/src/clock*.c<br>
<br>
Does that make sense at all?</blockquote><div> </div></div><div>I went through the code in those files. I also quickly skimmed through the code I have COed from HEAD and have got a rough idea of how the code is structured. Now I am feeling somewhat better. But still to get a real feel of how Timestamps are working now I want to get it compiled and see how they work. Please help me.<br>

<br>Moreover thanks a lot to both Joel for all the above suggestions and Daron for that timecounters pdf. <br></div></div><font color="#888888"><br><br clear="all"><br>-- <br></font><div><div></div><div class="Wj3C7c"> Thanks and regards,<br>
 Madhusudan.C.S<br><br>
</div></div></div><br><br clear="all"><br>-- <br> With regards,<br> Madhusudan.C.S<br><br>"When liberty is taken away by force it can be restored by force. When it is relinquished voluntarily by default it can never be recovered"<br>
 - Dorothy Thompson