<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/asm-generic/div64.h, branch v3.19.6</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.19.6</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.19.6'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2008-05-01T15:03:58Z</updated>
<entry>
<title>rename div64_64 to div64_u64</title>
<updated>2008-05-01T15:03:58Z</updated>
<author>
<name>Roman Zippel</name>
<email>zippel@linux-m68k.org</email>
</author>
<published>2008-05-01T11:34:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6f6d6a1a6a1336431a6cba60ace9e97c3a496a19'/>
<id>urn:sha1:6f6d6a1a6a1336431a6cba60ace9e97c3a496a19</id>
<content type='text'>
Rename div64_64 to div64_u64 to make it consistent with the other divide
functions, so it clearly includes the type of the divide.  Move its definition
to math64.h as currently no architecture overrides the generic implementation.
 They can still override it of course, but the duplicated declarations are
avoided.

Signed-off-by: Roman Zippel &lt;zippel@linux-m68k.org&gt;
Cc: Avi Kivity &lt;avi@qumranet.com&gt;
Cc: Russell King &lt;rmk@arm.linux.org.uk&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[NET]: div64_64 consolidate (rev3)</title>
<updated>2007-04-26T05:23:33Z</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux-foundation.org</email>
</author>
<published>2007-03-26T02:54:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3927f2e8f9afa3424bb51ca81f7abac01ffd0005'/>
<id>urn:sha1:3927f2e8f9afa3424bb51ca81f7abac01ffd0005</id>
<content type='text'>
Here is the current version of the 64 bit divide common code.

Signed-off-by: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] asm-generic/div64.h breakage</title>
<updated>2003-07-12T02:35:48Z</updated>
<author>
<name>Bernardo Innocenti</name>
<email>bernie@develer.com</email>
</author>
<published>2003-07-12T02:35:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ed08e6dfc28d810101c7665a72c73117888bc4a0'/>
<id>urn:sha1:ed08e6dfc28d810101c7665a72c73117888bc4a0</id>
<content type='text'>
 - __div64_32(): remove __attribute_pure__ qualifier from the prototype
   since this function obviously clobbers memory through &amp;(n);

 - do_div(): add a check to ensure (n) is type-compatible with uint64_t;

 - as_update_iohist(): Use sector_div() instead of do_div().
   (Whether the result of the addition should always be stored in 64bits
   regardless of CONFIG_LBD is still being discussed, therefore it's
   unadderessed here);

 - Fix all places where do_div() was being called with a bad divisor argument.
</content>
</entry>
<entry>
<title>[PATCH] Fix problem introduced by do_div() patch</title>
<updated>2003-07-08T09:19:51Z</updated>
<author>
<name>Bernardo Innocenti</name>
<email>bernie@develer.com</email>
</author>
<published>2003-07-08T09:19:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=196652520859d6f3416790c2f81ce8f5c1262602'/>
<id>urn:sha1:196652520859d6f3416790c2f81ce8f5c1262602</id>
<content type='text'>
 - export the __div64_32 symbol for modules;

 - add likely() to the fast path (divisor&gt;&gt;32 == 0);

 - add __attribute__((pure)) to __div64_32() prototype so
   the compiler knows global memory isn't clobbered;

 - avoid building __div64_32() on 64bit architectures.
</content>
</entry>
<entry>
<title>[PATCH] Fix do_div() for all architectures</title>
<updated>2003-07-06T05:58:25Z</updated>
<author>
<name>Bernardo Innocenti</name>
<email>bernie@develer.com</email>
</author>
<published>2003-07-06T05:58:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f0a8aa740a24500b3379396ace6737722d0de1d4'/>
<id>urn:sha1:f0a8aa740a24500b3379396ace6737722d0de1d4</id>
<content type='text'>
This offers a generic do_div64() that actually does the right thing,
unlike some architectures that "optimized" the 64-by-32 divide into
just a 32-bit divide.

Both ppc and sh were already providing an assembly optimized
__div64_32().  I called my function the same, so that their optimized
versions will automatically override mine in lib.a.

I've only tested extensively on m68knommu (uClinux) and made
sure generated code is reasonably short. Should be ok also on
parisc, since it's the same algorithm they were using before.

 - add generic C implementations of the do_div() for 32bit and 64bit
   archs in asm-generic/div64.h;

 - add generic library support function __div64_32() to handle the
   full 64/32 case on 32bit archs;

 - kill multiple copies of generic do_div() in architecture
   specific subdirs. Most copies were either buggy or not doing
   what they were supposed to do;

 - ensure all surviving instances of do_div() have their parameters
   correctly parenthesized to avoid funny side-effects;
</content>
</entry>
</feed>
