<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/lib/Makefile, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-09-26T13:44:50Z</updated>
<entry>
<title>s390/string: provide asm lib functions for memcpy and memcmp</title>
<updated>2012-09-26T13:44:50Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2012-08-14T11:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=535c611ddd3eb076f96579131e30bc5dd02a3b1c'/>
<id>urn:sha1:535c611ddd3eb076f96579131e30bc5dd02a3b1c</id>
<content type='text'>
Our memcpy and memcmp variants were implemented by calling the corresponding
gcc builtin variants.
However gcc is free to replace a call to __builtin_memcmp with a call to memcmp
which, when called, will result in an endless recursion within memcmp.
So let's provide asm variants and also fix the variants that are used for
uncompressing the kernel image.
In addition remove all other occurences of builtin function calls.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] uaccess: make sure copy_from_user_overflow is builtin</title>
<updated>2010-03-08T11:25:29Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2010-03-08T11:25:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=596a95cdf0ba35ea353fb5b65750f596d712041e'/>
<id>urn:sha1:596a95cdf0ba35ea353fb5b65750f596d712041e</id>
<content type='text'>
If there is no in kernel image caller modules will suffer:

ERROR: "copy_from_user_overflow" [net/core/pktgen.ko] undefined!
ERROR: "copy_from_user_overflow" [net/can/can-raw.ko] undefined!
ERROR: "copy_from_user_overflow" [fs/cifs/cifs.ko] undefined!

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] uaccess: implement strict user copy checks</title>
<updated>2010-02-26T21:37:29Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2010-02-26T21:37:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1dcec254afe5bc700a4cacf810b71a28bd994ea9'/>
<id>urn:sha1:1dcec254afe5bc700a4cacf810b71a28bd994ea9</id>
<content type='text'>
Same as on x86 and sparc, besides the fact that enabling the option
will just emit compile time warnings instead of errors.
Keeps allyesconfig kernels compiling.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] add __ucmpdi2() helper function</title>
<updated>2009-07-07T14:37:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2009-07-07T14:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5075baca2e95840d76210c3cfda56134007462c9'/>
<id>urn:sha1:5075baca2e95840d76210c3cfda56134007462c9</id>
<content type='text'>
Provide __ucmpdi2() helper function on 31 bit so we don't run
again and again in compile errors like this one:

kernel/built-in.o: In function `T.689':
perf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2'

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] remove -traditional</title>
<updated>2008-04-30T11:38:44Z</updated>
<author>
<name>Mathieu Desnoyers</name>
</author>
<published>2008-04-30T11:38:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47494f6a84cdae2740b62e1d86a1860df85d9bbb'/>
<id>urn:sha1:47494f6a84cdae2740b62e1d86a1860df85d9bbb</id>
<content type='text'>
Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
CC: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Bogomips calculation for 64 bit.</title>
<updated>2007-07-10T09:24:47Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2007-07-10T09:24:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a88367088a6b9964d99694b30d80720f019bea2'/>
<id>urn:sha1:8a88367088a6b9964d99694b30d80720f019bea2</id>
<content type='text'>
The bogomips calculation triggered via reading from /proc/cpuinfo
can return incorrect values if the qrnnd assembly is called with a
pointer in %r2 with any of the upper 32 bits set.
Fix this by using 64 bit division / remainder operation provided by
gcc instead of calling the assembly.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390]: Fix build on 31-bit.</title>
<updated>2007-04-26T05:28:53Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2007-04-11T05:10:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb8c181f288a1157bc717cc7a02412d4d1dc19bc'/>
<id>urn:sha1:cb8c181f288a1157bc717cc7a02412d4d1dc19bc</id>
<content type='text'>
Allow s390 to properly override the generic
__div64_32() implementation by:

1) Using obj-y for div64.o in s390's makefile instead
   of lib-y

2) Adding the weak attribute to the generic implementation.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[S390] Calibrate delay and bogomips.</title>
<updated>2007-02-05T20:18:31Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2007-02-05T20:18:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31ee4b2f40994e8b21691f85cdd4052551a789b7'/>
<id>urn:sha1:31ee4b2f40994e8b21691f85cdd4052551a789b7</id>
<content type='text'>
Preset the bogomips number to the cpu capacity value reported by
store system information in SYSIB 1.2.2. This value is constant
for a particular machine model and can be used to determine
relative performance differences between machines.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Add dynamic size check for usercopy functions.</title>
<updated>2006-12-04T14:40:45Z</updated>
<author>
<name>Gerald Schaefer</name>
</author>
<published>2006-12-04T14:40:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe'/>
<id>urn:sha1:59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe</id>
<content type='text'>
Use a wrapper for copy_to/from_user to chose the best usercopy method.
The mvcos instruction is better for sizes greater than 256 bytes, if
mvcos is not available a page table walk is better for sizes greater
than 1024 bytes. Also removed the redundant copy_to/from_user_std_small
functions.

Signed-off-by: Gerald Schaefer &lt;geraldsc@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] __div64_32 for 31 bit.</title>
<updated>2006-09-28T14:55:39Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-09-28T14:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9f7a745d55527d0d41684b22506a86c4381f7f1'/>
<id>urn:sha1:d9f7a745d55527d0d41684b22506a86c4381f7f1</id>
<content type='text'>
The clocksource infrastructure introduced with commit
ad596171ed635c51a9eef829187af100cbf8dcf7 broke 31 bit s390.
The reason is that the do_div() primitive for 31 bit always
had a restriction: it could only divide an unsigned 64 bit
integer by an unsigned 31 bit integer. The clocksource code
now uses do_div() with a base value that has the most
significant bit set. The result is that clock-&gt;cycle_interval
has a funny value which causes the linux time to jump around
like mad.
The solution is "obvious": implement a proper __div64_32
function for 31 bit s390.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
