arch/s390/lib/test_kprobes_asm.S

Source file repositories/reference/linux-study-clean/arch/s390/lib/test_kprobes_asm.S

File Facts

System
Linux kernel
Corpus path
arch/s390/lib/test_kprobes_asm.S
Extension
.S
Size
972 bytes
Lines
46
Domain
Architecture Layer
Bucket
arch/s390
Inferred role
Architecture Layer: arch/s390
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <linux/linkage.h>
#include <asm/ftrace.h>

#define KPROBES_TARGET_START(name)	\
	SYM_FUNC_START(name);		\
	FTRACE_GEN_NOP_ASM(name)

#define KPROBES_TARGET_END(name)	\
	SYM_FUNC_END(name);		\
	SYM_DATA(name##_offs, .quad 1b - name)

KPROBES_TARGET_START(kprobes_target_in_insn4)
	.word 0x4700 // bc 0,0
1:	.word 0x0000
	br %r14
KPROBES_TARGET_END(kprobes_target_in_insn4)

KPROBES_TARGET_START(kprobes_target_in_insn6_lo)
	.word 0xe310 // ly 1,0
1:	.word 0x0000
	.word 0x0058
	br %r14
KPROBES_TARGET_END(kprobes_target_in_insn6_lo)

KPROBES_TARGET_START(kprobes_target_in_insn6_hi)
	.word 0xe310 // ly 1,0
	.word 0x0000
1:	.word 0x0058
	br %r14
KPROBES_TARGET_END(kprobes_target_in_insn6_hi)

KPROBES_TARGET_START(kprobes_target_bp)
	nop
	.word 0x0000
	nop
1:	br %r14
KPROBES_TARGET_END(kprobes_target_bp)

KPROBES_TARGET_START(kprobes_target_odd)
	.byte 0x07
1:	.byte 0x07
	br %r14
KPROBES_TARGET_END(kprobes_target_odd)

Annotation

Implementation Notes