History log of /linux/arch/s390/tools/gen_bitmaps.c (Results 1 – 4 of 4)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 375d5d57 21-Oct-2026 Linus Torvalds <torvalds@linux-foundation.org>

Merge tag 's390-7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Heiko Carstens:

- Add support for sclp-vt220 terminal resize events e.g. for QEMU

- Warn

Merge tag 's390-7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Heiko Carstens:

- Add support for sclp-vt220 terminal resize events e.g. for QEMU

- Warn if kernel command line contains non-printable EBCDIC characters

- Improve show_code() disassembly output by using reliable markers for
the instruction address and faulting instruction

- Rework exception handling to require only a single exception table
entry per faulting instruction: convert all inline assemblies from
EX_TABLE to the new EX_TABLE_INSN macros. The previous exception
handling was error prone since it usually required two EX_TABLE
entries: one pointing at the instruction, and one pointing behind it

- Disallow kprobes on instructions with exception table entries to
avoid exception handlers decoding a breakpoint instead of the
original instruction

- Preemptible percpu ops changes:

- Simplify percpu_entry() and percpu_exit() by encoding the percpu
base, offset, and pointer registers into the lowcore marker,
allowing percpu_exit() to update the percpu pointer on CPU
migration without comparing the interrupted instruction

- Convert this_cpu_cmpxchg(), this_cpu_xchg(), and
this_cpu_cmpxchg128() to preemptible percpu ops; provide
this_cpu_try_cmpxchg()

- Emulate virtual timer in appldata via delayed work and remove the
s390 specific vtimer infrastructure

- Add lock contention tracepoints to rwlock slowpath

- Fix incorrect return address in signal frame setup

- Fix cpum_cf CPU hotplug handling

- Convert various __get_free_pages() / get_zeroed_page() users to
kmalloc() / kzalloc()

- PCI:

- Improve RPCIT instruction tracing

- Fix double-free, use-after-free, and resource leaks in zPCI MSI
and IRQ setup / cleanup paths

- Crypto and zcrypt:

- Improve reply message and length verification checks for CCA,
EP11, and ICA messages to prevent out-of-bounds reads

- Add missing array_index_nospec() for domain index uses in zcrypt
to prevent speculative execution bypass

- Fix out-of-bounds read in cca_query_crypto_facility()

- Various other small fixes and improvements

* tag 's390-7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (102 commits)
s390/signal: Cleanup coding style
s390/signal: Fix incorrect return address in signal frame
s390/probes: Fix wrong mnemonic comment for clgib
s390/probes: Add missing fixup for bctgr and bic
s390/probes: Fix wrong opcode for cgrb fixup
s390: Select ARCH_MEMORY_ORDER_TSO
s390/mm: Cleanup pXXp_flush_lazy() routines
s390/pci: Add function handle to RPCIT insn trace
s390/pci: Use 32-bit fh outside of inline asm
s390/pci: Adjust alignment in insn trace
s390/sclp: Remove redundant memset after memblock_alloc_low()
s390/entry: Save lowcore on invalid kernel stack
s390/entry: Last breaking event vs invalid kernel stack
s390/percpu: ImplemenHeiko Carstenst this_cpu_try_cmpxchg()
s390/percpu: Drop unused output register from arch_this_cpu_to_op()
s390/percpu: Drop unused output register from arch_this_cpu_add()
s390/percpu: Use asm_inline for arch_this_cpu_add()
s390/extable: Remove EX_TABLE macros and fallback extable search
s390/bpf: Simplify exception table entry handling
s390/sclp: Convert inline assembly to EX_TABLE_INSN
...

show more ...


Revision tags: v7.3
# efe276b9 13-Oct-2026 Heiko Carstens <hca@linux.ibm.com>

Merge branch 'exception-handling'

Heiko Carstens says:

====================

Extend the existing get_trap_ip() so that it returns the address of
the instruction which caused an exception, and use t

Merge branch 'exception-handling'

Heiko Carstens says:

====================

Extend the existing get_trap_ip() so that it returns the address of
the instruction which caused an exception, and use that for both the
disassembler as well as exception handling.

This allows improving two things:

- The in kernel disassembler prints PGM+PSW markers which clearly
identify the instruction causing an exception, and the current PSW
address. This replaces the previous "best guess" approach with '*' and
'>' markers

- EX_TABLE entries for inline assemblies are simplified. Only the address
of the faulting instruction needs to be provided from now on. The second
entry, which is the address following the faulting instruction, is not
needed anymore

Disassembler
------------

The output of the kernel disassembler changes. If the disassembly is
printed as a result of a program check, 'PGM' and 'PSW' markers identify
the instruction which caused the exception, and where the PSW points
to. For suppressing exceptions, the output now looks like this:

Krnl Code:
000003ff8dc7bff8: e310f0080004 lg %r1,8(%r15)
PGM >000003ff8dc7bffe: e3a0e0000004 lg %r10,0(%r14)
PSW >000003ff8dc7c004: a7280000 lhi %r2,0
000003ff8dc7c008: eb9ff0900024 stmg %r9,%r15,144(%r15)

For nullifying exceptions where both addresses are the same,
'PGM+PSW >' is printed instead:

Krnl Code:
000003ff8dc7bff8: e310f0080004 lg %r1,8(%r15)
PGM+PSW >000003ff8dc7bffe: e3a0e0000004 lg %r10,0(%r14)
000003ff8dc7c004: a7280000 lhi %r2,0
000003ff8dc7c008: eb9ff0900024 stmg %r9,%r15,144(%r15)

EX_TABLE entries
----------------

With get_trap_ip() now returning the exact faulting instruction address,
EX_TABLE entries for inline assemblies are simplified. Only the address
of the faulting instruction needs to be provided. The second entry - the
address following the faulting instruction - is no longer needed.

For example, an inline assembly using a single instruction can now be
written as:

asm_inline volatile(
"0: lg %[data],%[addr]\n"
"1:\n"
EX_TABLE_INSN(0b, 1b));

Previously this required:

asm_inline volatile(
" nopr %%r7\n"
"0: lg %[data],%[addr]\n"
"1: nopr %%r7\n"
EX_TABLE(0b, 1b)
EX_TABLE(1b, 1b));

The old approach had several non-obvious restrictions:

- If an instruction immediately preceding the inline assembly caused a
non-nullifying exception, the PSW would point to the start of the
inline assembly. If the faulting instruction was placed there, the
exception handler would incorrectly resolve the fault using the inline
assembly's fixup handler. Hence, a leading NOP was required before the
faulting instruction

- Similarly, an exception table entry placed behind a faulting
instruction must also point to an instruction that cannot fault. A
nullifying exception on the following instruction would otherwise be
incorrectly resolved by that entry

- Furthermore, instructions that can cause both nullifying and
non-nullifying exceptions required two separate exception table entries

These restrictions are error-prone and have caused several bugs in the
past.

All EX_TABLE* macros have been renamed to EX_TABLE_INSN*. This allows the
old and new semantics to be distinguished, and ensures that backports of
code using the new semantics will intentionally fail to compile if the
new infrastructure is not present.

Note
----

There are some existing oddities and corner cases with kprobes. Only
some of them will be addressed with this series. The other ones will
be addressed with follow-on changes, since this series is already
large enough.

====================

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

show more ...


Revision tags: v7.3-rc7, v7.3-rc6
# 319ccf08 01-Oct-2026 Heiko Carstens <hca@linux.ibm.com>

s390/tools: Generate bitmap of nullified program checks

Add PGM_CHECKS_NULLIFIED bitmap to gen_bitmaps and add a --pgmcheck
command line option to generate the pgmcheck-defs.h header file. The
bitma

s390/tools: Generate bitmap of nullified program checks

Add PGM_CHECKS_NULLIFIED bitmap to gen_bitmaps and add a --pgmcheck
command line option to generate the pgmcheck-defs.h header file. The
bitmap specifies which program checks are nullified, and will be used
with future changes.

Change gen_bitmaps.c so it can create bitmaps with different bit
numbering: MSB0 bit numbering like before (most significant bit is
bit 0), and LSB0 bit numbering (least significant bit is bit 0),
which is used for the new bitmap.

Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

show more ...


# f9ef2f6c 01-Oct-2026 Heiko Carstens <hca@linux.ibm.com>

s390/tools: Rename gen_facilities to gen_bitmaps

Rename gen_facilities.c to gen_bitmaps.c and make it more generic so it
can be used for various bitmaps. Add command line parsing, and use it
to expl

s390/tools: Rename gen_facilities to gen_bitmaps

Rename gen_facilities.c to gen_bitmaps.c and make it more generic so it
can be used for various bitmaps. Add command line parsing, and use it
to explicitly specify that the facilities header should be generated.

Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

show more ...