<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/boot/compressed, branch linux-4.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-11-24T07:20:44Z</updated>
<entry>
<title>s390/kasan: avoid instrumentation of early C code</title>
<updated>2019-11-24T07:20:44Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2017-11-17T12:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ef5ad4f11e74262692bc194ab28f3dd7ae5e465c'/>
<id>urn:sha1:ef5ad4f11e74262692bc194ab28f3dd7ae5e465c</id>
<content type='text'>
[ Upstream commit 0a9b40911baffac6fc9cc2d88e893585870a97f7 ]

Instrumented C code cannot run without the kasan shadow area. Exempt
source code files from kasan which are running before / used during
kasan initialization.

Reviewed-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: add missing FORCE to build targets</title>
<updated>2018-11-27T15:13:02Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-10-19T11:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b2d5118f74fede5a989ef8747d8fdfca84771dd'/>
<id>urn:sha1:9b2d5118f74fede5a989ef8747d8fdfca84771dd</id>
<content type='text'>
[ Upstream commit ef5febae1543f35a45f01614123e829d77326d0f ]

According to Documentation/kbuild/makefiles.txt all build targets
using if_changed should use FORCE as well. Add missing FORCE to make
sure vmlinux decompressor targets are rebuild properly when not just
immediate prerequisites have changed but also when build command differs.

Reviewed-by: Philipp Rudo &lt;prudo@linux.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: correct EXCLUDE_FILE construct</title>
<updated>2018-07-02T09:25:01Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-28T05:39:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d6f74f797f26e14bdd672b3547ad29199bbb6b8'/>
<id>urn:sha1:2d6f74f797f26e14bdd672b3547ad29199bbb6b8</id>
<content type='text'>
The following linker construct is problematic with linkers of
binutils &lt; 2.28:

EXCLUDE_FILE (*piggy.o) *(.rodata.*)

from 8f1732fc2a11dc of binutils:
"though the linker accepts this without complaint the
EXCLUDE_FILE part is silently ignored and has no effect."

Silent ignoring of EXCLUDE_FILE construct made .rodata.compressed be
part of .rodata, and in case of .rodata.compressed following some
unaligned data, input_len would also become unaligned.

from arch/s390/boot/compressed/vmlinux.map:
 .rodata.compressed
                0x0000000000012fea   0x4d57e7 arch/s390/boot/compressed/piggy.o
                0x0000000000012fea                input_len
                0x0000000000012fee                input_data

input_len is later used here:
arch/s390/boot/compressed/misc.c:113
	__decompress(input_data, input_len, NULL, NULL, output, 0, NULL, error);

asm generated by gcc looks like:
	.loc 3 113 0
egfrl	%r11,input_len

from what assembler generates invalid (the second operand must be aligned
on a doubleword boundary):
   0x00000000000129b4 &lt;+148&gt;:   c4 bc 00 00 03 1b       lgfrl   %r11,0x12fea
hence specification exception is recognized.

To avoid an issue use EXCLUDE_FILE construct which is recognized by
older linkers (since at least binutils-2_11)
	*(EXCLUDE_FILE (*piggy.o) .rodata.compressed)

Also ensure that .rodata.compressed is at least doubleword aligned.

Fixes: 89b5202e81df ("s390/decompressor: support uncompressed kernel")
Reported-by: Halil Pasic &lt;pasic@linux.ibm.com&gt;
Acked-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390: get rid of the first mb of uncompressed image</title>
<updated>2018-07-02T09:24:58Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-27T15:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=183ab05ff285555c56b7f00bb4fd52d80a9513fb'/>
<id>urn:sha1:183ab05ff285555c56b7f00bb4fd52d80a9513fb</id>
<content type='text'>
Instead of generating uncompressed kernel image starting at 0, filling
first mb with zeros (with ".org 0x100000") and then trimming it off
from vmlinux.bin before compression, simply generate a kernel image
starting from 0x100000.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: discard ___kcrctab section</title>
<updated>2018-07-02T09:24:56Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-27T12:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4778dc08ef99825d2931d44888fda8d49319d93a'/>
<id>urn:sha1:4778dc08ef99825d2931d44888fda8d49319d93a</id>
<content type='text'>
___kcrctab section is not used during the decompressor phase and could be
discarded to save the memory. It is currently generated due to lib/mem.S
usage, which exports few symbols.

Acked-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: support uncompressed kernel</title>
<updated>2018-06-25T08:14:40Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-12T22:00:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89b5202e81df9f0f0f0a11cf8c78bc8bfdc52a21'/>
<id>urn:sha1:89b5202e81df9f0f0f0a11cf8c78bc8bfdc52a21</id>
<content type='text'>
Implement uncompressed kernel support (when "None" is picked in kernel
compression mode list). In that case an actual decompression code is
skipped and control is passed from boot/head.S to startup_continue in
kernel/head64.S. To achieve that uncompressed kernel payload is
conditionally put at 0x100000 in bzImage.

In reality this is very close to classic uncompressed kernel "image",
but the decompressor has its own build and link process,
kernel/head64.S lives at 0x100000 rather than at 0x11000, and .bss
section is reused for both stages.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: allow to pack uncompressed vmlinux.bin into piggy.o</title>
<updated>2018-06-25T08:14:40Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-13T04:34:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c98b6c679a3b8032a2dd5c9724f489e1b959e5a7'/>
<id>urn:sha1:c98b6c679a3b8032a2dd5c9724f489e1b959e5a7</id>
<content type='text'>
If none of compression methods defined, leave suffix-y empty, so that
plain uncompressed vmlinux.bin could be reused instead.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: allow preprocessor in piggy.o linker script</title>
<updated>2018-06-25T08:14:40Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-12T19:59:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8326bf52e0894004c790183228c1ec18aae7f72'/>
<id>urn:sha1:b8326bf52e0894004c790183228c1ec18aae7f72</id>
<content type='text'>
Rename vmlinux.scr to vmlinux.scr.lds.S and add it to build rules to
enable preprocessor for it.

Also add vmlinux.scr.lds to local .gitignore

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: extend .bss check for early code</title>
<updated>2018-06-25T08:14:40Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-05-16T08:57:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0580bce1312f75362662881c938192856167cf7e'/>
<id>urn:sha1:0580bce1312f75362662881c938192856167cf7e</id>
<content type='text'>
Cover the decompressor code with no .bss usage compile time check.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/decompressor: avoid repeating objects list in Makefile</title>
<updated>2018-06-25T08:14:39Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-12T19:52:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4560ff1386e35f51f7bafa0107fe4e0eb31db090'/>
<id>urn:sha1:4560ff1386e35f51f7bafa0107fe4e0eb31db090</id>
<content type='text'>
Optimize the decompressor's Makefile to have a single objects list.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
