linux-mips
[Top] [All Lists]

RE: Question about generic\time.c 2.4.17

To: "'Maciej W. Rozycki'" <macro@ds2.pg.gda.pl>, "Zajerko-McKee, Nick" <nmckee@telogy.com>
Subject: RE: Question about generic\time.c 2.4.17
From: "Zajerko-McKee, Nick" <nmckee@telogy.com>
Date: Wed, 24 Jul 2002 11:02:53 -0400
Cc: linux-mips@oss.sgi.com
Sender: owner-linux-mips@oss.sgi.com
Thanks for the reply.   No, the code wasn't too obvious.  I went through the
gas info page to try to understand the inline assembler options + see mips
run.  I believe the code is used in the MIPS32 condition, which is what mode
I'm building for...  

so the result is res = (high |low)/ base ?

What had me confused was high and low are also modified as part of the
function.

-----Original Message-----
From: Maciej W. Rozycki [mailto:macro@ds2.pg.gda.pl]
Sent: Wednesday, July 24, 2002 10:38 AM
To: Nick Zajerko-McKee
Cc: linux-mips@oss.sgi.com
Subject: Re: Question about generic\time.c 2.4.17


On 23 Jul 2002, Nick Zajerko-McKee wrote:

> I'm working on a new 4Kc platform and was looking at the
> arch\mips\mips-boards\generic\time.c sources.  Can someone explain to me
> the function of do_fast_gettimeoffset(), especially the do_div64_32()
> assembler routine?  One of the requirements I have will be not modify
> the timer resolution for my platform to something in the msec range w/o
> disturbing the underlying jiffie setup found in linux.

 That's a traditional double-precision division, i.e. in this case it's a
64-bit dividend by a 32-bit divisor with a 32-bit quotient and a 32-bit
remainder (hmm, the code should be obvious).  It isn't used in the file,
though. 

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +


<Prev in Thread] Current Thread [Next in Thread>