|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6 |
|
| #
8231a0e6 |
| 26-Aug-2024 |
Vasily Gorbik <[email protected]> |
s390: Add z17 elf platform
Add detection for machine types 0x9175 and 0x9176 and set ELF platform name to z17.
Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <gor@linu
s390: Add z17 elf platform
Add detection for machine types 0x9175 and 0x9176 and set ELF platform name to z17.
Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
e82462fb |
| 07-Feb-2025 |
Heiko Carstens <[email protected]> |
s390/tx: Convert MACHINE_HAS_TE to machine_has_tx()
Use static branch(es) to implement and use machine_has_tx() instead of a runtime check with MACHINE_HAS_TE.
Reviewed-by: Vasily Gorbik <gor@linux
s390/tx: Convert MACHINE_HAS_TE to machine_has_tx()
Use static branch(es) to implement and use machine_has_tx() instead of a runtime check with MACHINE_HAS_TE.
Reviewed-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
a1a8da0d |
| 07-Feb-2025 |
Heiko Carstens <[email protected]> |
s390/pci: Get rid of MACHINE_HAS_PCI_MIO
Remove MACHINE_FLAG_PCI_MIO/MACHINE_HAS_PCI_MIO and implement the identical functionality with set_machine_feature(), clear_machine_feature() and test_machin
s390/pci: Get rid of MACHINE_HAS_PCI_MIO
Remove MACHINE_FLAG_PCI_MIO/MACHINE_HAS_PCI_MIO and implement the identical functionality with set_machine_feature(), clear_machine_feature() and test_machine_feature().
Acked-by: Niklas Schnelle <[email protected]> Tested-by: Niklas Schnelle <[email protected]> Reviewed-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
2e2ff71f |
| 07-Feb-2025 |
Heiko Carstens <[email protected]> |
s390/cpufeature: Convert MACHINE_HAS_EDAT1 to cpu_has_edat1()
Convert MACHINE_HAS_... to cpu_has_...() which uses test_facility() instead of testing the machine_flags lowcore member if the feature i
s390/cpufeature: Convert MACHINE_HAS_EDAT1 to cpu_has_edat1()
Convert MACHINE_HAS_... to cpu_has_...() which uses test_facility() instead of testing the machine_flags lowcore member if the feature is present.
test_facility() generates better code since it results in a static branch without accessing memory. The branch is patched via alternatives by the decompressor depending on the availability of the required facility.
Reviewed-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
42805261 |
| 07-Feb-2025 |
Heiko Carstens <[email protected]> |
s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs()
Convert MACHINE_HAS_... to cpu_has_...() which uses test_facility() instead of testing the machine_flags lowcore member if the feature is pres
s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs()
Convert MACHINE_HAS_... to cpu_has_...() which uses test_facility() instead of testing the machine_flags lowcore member if the feature is present.
test_facility() generates better code since it results in a static branch without accessing memory. The branch is patched via alternatives by the decompressor depending on the availability of the required facility.
Reviewed-by: Vasily Gorbik <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
0cad4092 |
| 28-Jan-2025 |
Yury Norov <[email protected]> |
s390: switch stop_machine_yield() to using cpumask_next_wrap()
Calling cpumask_next_wrap_old() with starting CPU equal to wrapping CPU effectively means the request to find next CPU, wrapping around
s390: switch stop_machine_yield() to using cpumask_next_wrap()
Calling cpumask_next_wrap_old() with starting CPU equal to wrapping CPU effectively means the request to find next CPU, wrapping around if needed.
cpumask_next_wrap() is the proper replacement for that.
Signed-off-by: Yury Norov <[email protected]>
show more ...
|
| #
dc5bb9b7 |
| 28-Jan-2025 |
Yury Norov <[email protected]> |
cpumask: deprecate cpumask_next_wrap()
The next patch aligns implementation of cpumask_next_wrap() with the find_next_bit_wrap(), and it changes function signature.
To make the transition smooth, t
cpumask: deprecate cpumask_next_wrap()
The next patch aligns implementation of cpumask_next_wrap() with the find_next_bit_wrap(), and it changes function signature.
To make the transition smooth, this patch deprecates current implementation by adding an _old suffix. The following patches switch current users to the new implementation one by one.
No functional changes were intended.
Signed-off-by: Yury Norov <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1 |
|
| #
ace76fac |
| 16-Jul-2024 |
Heiko Carstens <[email protected]> |
s390/alternatives: Move text sync functions
Move all text sync functions from alternative.c to processor.c. This way there is only minimal code left in alternative.c left, which is a prerequisite to
s390/alternatives: Move text sync functions
Move all text sync functions from alternative.c to processor.c. This way there is only minimal code left in alternative.c left, which is a prerequisite to use the C file within boot code as well.
Reviewed-by: Alexander Gordeev <[email protected]> Tested-by: Sven Schnelle <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
|
Revision tags: v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4 |
|
| #
18564756 |
| 01-Dec-2023 |
Heiko Carstens <[email protected]> |
s390/fpu: get rid of MACHINE_HAS_VX
Get rid of MACHINE_HAS_VX and replace it with cpu_has_vx() which is a short readable wrapper for "test_facility(129)".
Facility bit 129 is set if the vector faci
s390/fpu: get rid of MACHINE_HAS_VX
Get rid of MACHINE_HAS_VX and replace it with cpu_has_vx() which is a short readable wrapper for "test_facility(129)".
Facility bit 129 is set if the vector facility is present. test_facility() returns also true for all bits which are set in the architecture level set of the cpu that the kernel is compiled for. This means that test_facility(129) is a compile time constant which returns true for z13 and later, since the vector facility bit is part of the z13 kernel ALS.
In result the compiled code will have less runtime checks, and less code.
Reviewed-by: Hendrik Brueckner <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Alexander Gordeev <[email protected]>
show more ...
|
| #
af6ed37e |
| 01-Dec-2023 |
Heiko Carstens <[email protected]> |
s390/fpu: remove "novx" option
Remove the "novx" kernel command line option: the vector code runs without any problems since many years.
Reviewed-by: Hendrik Brueckner <[email protected]> Sig
s390/fpu: remove "novx" option
Remove the "novx" kernel command line option: the vector code runs without any problems since many years.
Reviewed-by: Hendrik Brueckner <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Alexander Gordeev <[email protected]>
show more ...
|
|
Revision tags: v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3, v6.3-rc2, v6.3-rc1 |
|
| #
9b63fd2f |
| 28-Feb-2023 |
Heiko Carstens <[email protected]> |
s390/bp: remove s390_isolate_bp_guest()
s390_isolate_bp_guest() is unused. Remove it.
Reviewed-by: Alexander Gordeev <[email protected]> Reviewed-by: Sven Schnelle <[email protected]> Signed
s390/bp: remove s390_isolate_bp_guest()
s390_isolate_bp_guest() is unused. Remove it.
Reviewed-by: Alexander Gordeev <[email protected]> Reviewed-by: Sven Schnelle <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
f33f2d4c |
| 28-Feb-2023 |
Heiko Carstens <[email protected]> |
s390/bp: remove TIF_ISOLATE_BP
TIF_ISOLATE_BP is unused since it was introduced with commit 6b73044b2b00 ("s390: run user space and KVM guests with modified branch prediction"). Given that there is
s390/bp: remove TIF_ISOLATE_BP
TIF_ISOLATE_BP is unused since it was introduced with commit 6b73044b2b00 ("s390: run user space and KVM guests with modified branch prediction"). Given that there is no use case remove it again.
Acked-by: Alexander Gordeev <[email protected]> Reviewed-by: Sven Schnelle <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
|
Revision tags: v6.2, v6.2-rc8, v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1, v6.1, v6.1-rc8, v6.1-rc7, v6.1-rc6, v6.1-rc5, v6.1-rc4, v6.1-rc3, v6.1-rc2, v6.1-rc1, v6.0, v6.0-rc7, v6.0-rc6, v6.0-rc5, v6.0-rc4, v6.0-rc3, v6.0-rc2, v6.0-rc1, v5.19, v5.19-rc8, v5.19-rc7 |
|
| #
0a5f9b38 |
| 13-Jul-2022 |
Heiko Carstens <[email protected]> |
s390/cpufeature: rework to allow more than only hwcap bits
Rework cpufeature implementation to allow for various cpu feature indications, which is not only limited to hwcap bits. This is achieved by
s390/cpufeature: rework to allow more than only hwcap bits
Rework cpufeature implementation to allow for various cpu feature indications, which is not only limited to hwcap bits. This is achieved by adding a sequential list of cpu feature numbers, where each of them is mapped to an entry which indicates what this number is about.
Each entry contains a type member, which indicates what feature name space to look into (e.g. hwcap, or cpu facility). If wanted this allows also to automatically load modules only in e.g. z/VM configurations.
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Steffen Eiden <[email protected]> Reviewed-by: Claudio Imbrenda <[email protected]> Reviewed-by: Hendrik Brueckner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexander Gordeev <[email protected]>
show more ...
|
|
Revision tags: v5.19-rc6, v5.19-rc5, v5.19-rc4, v5.19-rc3, v5.19-rc2, v5.19-rc1, v5.18, v5.18-rc7, v5.18-rc6, v5.18-rc5, v5.18-rc4, v5.18-rc3, v5.18-rc2, v5.18-rc1, v5.17, v5.17-rc8, v5.17-rc7, v5.17-rc6, v5.17-rc5, v5.17-rc4, v5.17-rc3, v5.17-rc2, v5.17-rc1, v5.16, v5.16-rc8, v5.16-rc7, v5.16-rc6, v5.16-rc5, v5.16-rc4, v5.16-rc3, v5.16-rc2, v5.16-rc1, v5.15, v5.15-rc7, v5.15-rc6, v5.15-rc5, v5.15-rc4, v5.15-rc3, v5.15-rc2, v5.15-rc1, v5.14, v5.14-rc7, v5.14-rc6, v5.14-rc5, v5.14-rc4, v5.14-rc3 |
|
| #
6203ac30 |
| 23-Jul-2021 |
Heiko Carstens <[email protected]> |
s390: add z16 elf platform
Add detection for machine types 0x3931 and 0x3932 and set ELF platform name to z16.
Signed-off-by: Heiko Carstens <[email protected]>
|
| #
4efd417f |
| 24-Feb-2022 |
Vasily Gorbik <[email protected]> |
s390: raise minimum supported machine generation to z10
Machine generations up to z9 (released in May 2006) have been officially out of service for several years now (z9 end of service - January 31,
s390: raise minimum supported machine generation to z10
Machine generations up to z9 (released in May 2006) have been officially out of service for several years now (z9 end of service - January 31, 2019). No distributions build kernels supporting those old machine generations anymore, except Debian, which seems to pick the oldest supported generation. The team supporting Debian on s390 has been notified about the change.
Raising minimum supported machine generation to z10 helps to reduce maintenance cost and effectively remove code, which is not getting enough testing coverage due to lack of older hardware and distributions support. Besides that this unblocks some optimization opportunities and allows to use wider instruction set in asm files for future features implementation. Due to this change spectre mitigation and usercopy implementations could be drastically simplified and many newer instructions could be converted from ".insn" encoding to instruction names.
Acked-by: Ilya Leoshkevich <[email protected]> Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
a73de293 |
| 03-Aug-2021 |
Sebastian Andrzej Siewior <[email protected]> |
s390: replace deprecated CPU-hotplug functions
The functions get_online_cpus() and put_online_cpus() have been deprecated during the CPU hotplug rework. They map directly to cpus_read_lock() and cpu
s390: replace deprecated CPU-hotplug functions
The functions get_online_cpus() and put_online_cpus() have been deprecated during the CPU hotplug rework. They map directly to cpus_read_lock() and cpus_read_unlock().
Replace deprecated CPU-hotplug functions with the official version. The behavior remains unchanged.
Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
7e82523f |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: make sie capability regular hwcap
Commit 7f16d7e787b7 ("s390: show virtualization support in /proc/cpuinfo") introduced special handling for sie capability, saying this should not be ex
s390/hwcaps: make sie capability regular hwcap
Commit 7f16d7e787b7 ("s390: show virtualization support in /proc/cpuinfo") introduced special handling for sie capability, saying this should not be exposed via hwcaps, without giving a reason.
However this leads to an inconsistent /proc/cpuinfo features line where all features except the sie capability are also present in hwcaps. I really don't see a reason to not add that to hwcaps - it might be quite pointless, but at least this way it is possible to get rid of some special handling.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
98ac9169 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: remove hwcap stfle check
Remove the not so obvious "(elf_hwcap & (1UL << 2)" which only checks if stfle is available. This used to be required for old code before test_facility() was in
s390/hwcaps: remove hwcap stfle check
Remove the not so obvious "(elf_hwcap & (1UL << 2)" which only checks if stfle is available. This used to be required for old code before test_facility() was introduced. test_facility() will do the right thing, regardless if stfle is available or not.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
487dff56 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: remove z/Architecture mode active check
Remove a leftover from the common 31/64 bit code. z/Architecture mode is now always active, there is no need to check.
Signed-off-by: Heiko Cars
s390/hwcaps: remove z/Architecture mode active check
Remove a leftover from the common 31/64 bit code. z/Architecture mode is now always active, there is no need to check.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
449fbd71 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: use consistent coding style / remove comments
Use a consistent coding style within setup_hwcaps() and remove obvious and outdated comments.
Signed-off-by: Heiko Carstens <[email protected]
s390/hwcaps: use consistent coding style / remove comments
Use a consistent coding style within setup_hwcaps() and remove obvious and outdated comments.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
251527c9 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: open code initialization of first six hwcap bits
The first six hwcap bits are initialized in a rather odd way: an array contains the stfl(e) bits which need to be set, so that the corre
s390/hwcaps: open code initialization of first six hwcap bits
The first six hwcap bits are initialized in a rather odd way: an array contains the stfl(e) bits which need to be set, so that the corresponding bit position (= array index) within hwcaps are set.
Better open code it like it is done for all other bits, making it obvious which bit is set when.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
873129ca |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: split setup_hwcaps()
setup_hwcaps() is a quite large function. Make it smaller by moving the elf platform setup code into an independent setup function.
Signed-off-by: Heiko Carstens <
s390/hwcaps: split setup_hwcaps()
setup_hwcaps() is a quite large function. Make it smaller by moving the elf platform setup code into an independent setup function.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
f17a6d5d |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: move setup_hwcaps()
Move setup_hwcaps() to processor.c for two reasons: - make setup.c a bit smaller - have allmost all of the hwcap code in one file
Signed-off-by: Heiko Carstens <hca
s390/hwcaps: move setup_hwcaps()
Move setup_hwcaps() to processor.c for two reasons: - make setup.c a bit smaller - have allmost all of the hwcap code in one file
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|
| #
c68d4632 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: add sanity checks
Add BUILD_BUG_ON() sanity checks to make sure the hwcap string array contains a string for each hwcap.
Signed-off-by: Heiko Carstens <[email protected]>
|
| #
95655495 |
| 21-Jul-2021 |
Heiko Carstens <[email protected]> |
s390/hwcaps: use named initializers for hwcap string arrays
Use named initializers to make it obvious which hwcap string array element belongs to which hwcap.
Signed-off-by: Heiko Carstens <hca@lin
s390/hwcaps: use named initializers for hwcap string arrays
Use named initializers to make it obvious which hwcap string array element belongs to which hwcap.
Signed-off-by: Heiko Carstens <[email protected]>
show more ...
|