mirror-linux/arch/s390/tools
Heiko Carstens 73c4b5d728 s390: Add Dat-Enhancement facility 1 to architecture level set
Add the Dat-Enhancement facility 1 to the list of facilities which are
required to start the kernel. The facility provides the CSPG and IDTE
instructions. In particular the CSPG instruction can be used to replace a
valid page table entry with a different page table entry, which also
differs in the page frame real address.

Without the CSPG instruction it is possible to use the CSP instruction to
change valid page table entries, however it only allows to change the lower
or higher 32 bits of such entries, which means it cannot be used to change
the page frame real address of valid page table entries.

Given that there is code around (e.g. HugeTLB vmemmap optimization) which
requires to change valid page table entries of the kernel mapping, without
the detour over an invalid page table entry, make the CSPG instruction
unconditionally available.

The Dat-Enhancement facility 1 is available since z990, which is older than
the currently supported minimum architecture (z10). Therefore adding this
to the architecture level set shouldn't cause any problems.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-11-06 14:12:30 +01:00
..
.gitignore s390: add relocs tool 2024-02-20 14:37:33 +01:00
Makefile s390: add relocs tool 2024-02-20 14:37:33 +01:00
gcc-thunk-extern.sh s390/nospec: add an option to use thunk-extern 2022-03-10 15:58:17 +01:00
gen_facilities.c s390: Add Dat-Enhancement facility 1 to architecture level set 2025-11-06 14:12:30 +01:00
gen_opcode_table.c s390/tools: Use array instead of string initializer 2025-01-28 15:12:06 +01:00
opcodes.txt s390/disassembler: Remove duplicate instruction format RSY_RDRU 2024-09-12 14:13:27 +02:00
relocs.c s390/boot: Fix KASLR base offset off by __START_KERNEL bytes 2024-08-22 19:24:13 +02:00