<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/arch/s390/include/asm/alternative-asm.h, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2022-05-17T13:16:28Z</updated>
<entry>
<title>s390/alternatives: remove padding generation code</title>
<updated>2022-05-17T13:16:28Z</updated>
<author>
<name>Heiko Carstens</name>
<email>hca@linux.ibm.com</email>
</author>
<published>2022-05-11T12:05:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e6ed91fd0768b914558dad5eeda2407a7d871f52'/>
<id>urn:sha1:e6ed91fd0768b914558dad5eeda2407a7d871f52</id>
<content type='text'>
clang fails to handle ".if" statements in inline assembly which are heavily
used in the alternatives code.

To work around this remove this code, and enforce that users of
alternatives must specify original and alternative instruction sequences
which have identical sizes. Add a compile time check with two ".org"
statements similar to arm64.

In result not only clang can handle this, but also quite a lot of code can
be removed.

Acked-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Tested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;
Link: https://github.com/ClangBuiltLinux/linux/issues/1356
Link: https://lore.kernel.org/r/20220511120532.2228616-3-hca@linux.ibm.com
Signed-off-by: Heiko Carstens &lt;hca@linux.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/alternatives: avoid using jgnop mnemonic</title>
<updated>2022-03-28T21:27:54Z</updated>
<author>
<name>Vasily Gorbik</name>
<email>gor@linux.ibm.com</email>
</author>
<published>2022-03-28T21:27:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=faf79934e65aff90284725518a5ec3c2241c65ae'/>
<id>urn:sha1:faf79934e65aff90284725518a5ec3c2241c65ae</id>
<content type='text'>
jgnop mnemonic is only available since binutils 2.36,
kernel minimal required version is 2.23. Stick to brcl
to avoid build errors.

Reported-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Fixes: 4afeb670710e ("s390/alternatives: use instructions instead of byte patterns")
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/alternatives: use instructions instead of byte patterns</title>
<updated>2022-03-27T20:18:38Z</updated>
<author>
<name>Heiko Carstens</name>
<email>hca@linux.ibm.com</email>
</author>
<published>2022-03-13T21:04:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc'/>
<id>urn:sha1:4afeb670710efa5cd5ed8b1d9f2d22d6ce332bcc</id>
<content type='text'>
Use readable nop instructions within the code which generates
the padding areas, instead of unreadable byte patterns.

The generated code is identical.

Signed-off-by: Heiko Carstens &lt;hca@linux.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390: add assembler macros for CPU alternatives</title>
<updated>2018-03-28T06:38:27Z</updated>
<author>
<name>Martin Schwidefsky</name>
<email>schwidefsky@de.ibm.com</email>
</author>
<published>2018-03-19T17:07:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fba9eb7946251d6e420df3bdf7bc45195be7be9a'/>
<id>urn:sha1:fba9eb7946251d6e420df3bdf7bc45195be7be9a</id>
<content type='text'>
Add a header with macros usable in assembler files to emit alternative
code sequences. It works analog to the alternatives for inline assmeblies
in C files, with the same restrictions and capabilities.
The syntax is

     ALTERNATIVE "&lt;default instructions sequence&gt;", \
		 "&lt;alternative instructions sequence&gt;", \
		 "&lt;features-bit&gt;"
and

     ALTERNATIVE_2 "&lt;default instructions sequence&gt;", \
		   "&lt;alternative instructions sqeuence #1&gt;", \
		   "&lt;feature-bit #1&gt;",
		   "&lt;alternative instructions sqeuence #2&gt;", \
		   "&lt;feature-bit #2&gt;"

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