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 +
|