/usr/src/linux-headers-5.15.0-190/arch/microblaze/include/asm
NameSizeModeActions
asm-compat.h5180644editdlrm
asm-offsets.h350644editdlrm
barrier.h3130644editdlrm
cache.h5100644editdlrm
cacheflush.h32090644editdlrm
checksum.h8060644editdlrm
cpuinfo.h20430644editdlrm
current.h7140644editdlrm
delay.h21380644editdlrm
dma.h4320644editdlrm
elf.h6020644editdlrm
entry.h10180644editdlrm
exceptions.h19280644editdlrm
fixmap.h18740644editdlrm
flat.h19820644editdlrm
ftrace.h6420644editdlrm
futex.h21790644editdlrm
hash.h24290644editdlrm
highmem.h18000644editdlrm
io.h16910644editdlrm
irq.h3760644editdlrm
irqflags.h25290644editdlrm
Kbuild2500644editdlrm
kgdb.h7390644editdlrm
mmu.h40500644editdlrm
mmu_context.h720644editdlrm
mmu_context_mm.h38930644editdlrm
module.h7040644editdlrm
page.h40760644editdlrm
pci-bridge.h44730644editdlrm
pci.h19860644editdlrm
pgalloc.h10420644editdlrm
pgtable.h145260644editdlrm
processor.h26930644editdlrm
ptrace.h5910644editdlrm
pvr.h87910644editdlrm
registers.h15080644editdlrm
seccomp.h2560644editdlrm
sections.h5010644editdlrm
setup.h8230644editdlrm
string.h4940644editdlrm
switch_to.h4930644editdlrm
syscall.h23460644editdlrm
thread_info.h39790644editdlrm
timex.h2660644editdlrm
tlbflush.h15790644editdlrm
uaccess.h81210644editdlrm
unistd.h10510644editdlrm
unwind.h6110644editdlrm
vmalloc.h1080644editdlrm
Edit: /usr/src/linux-headers-5.15.0-190/arch/microblaze/include/asm/syscall.h (2346B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_MICROBLAZE_SYSCALL_H #define __ASM_MICROBLAZE_SYSCALL_H #include #include #include #include /* The system call number is given by the user in R12 */ static inline long syscall_get_nr(struct task_struct *task, struct pt_regs *regs) { return regs->r12; } static inline void syscall_rollback(struct task_struct *task, struct pt_regs *regs) { /* TODO. */ } static inline long syscall_get_error(struct task_struct *task, struct pt_regs *regs) { return IS_ERR_VALUE(regs->r3) ? regs->r3 : 0; } static inline long syscall_get_return_value(struct task_struct *task, struct pt_regs *regs) { return regs->r3; } static inline void syscall_set_return_value(struct task_struct *task, struct pt_regs *regs, int error, long val) { if (error) regs->r3 = -error; else regs->r3 = val; } static inline microblaze_reg_t microblaze_get_syscall_arg(struct pt_regs *regs, unsigned int n) { switch (n) { case 5: return regs->r10; case 4: return regs->r9; case 3: return regs->r8; case 2: return regs->r7; case 1: return regs->r6; case 0: return regs->r5; default: BUG(); } return ~0; } static inline void microblaze_set_syscall_arg(struct pt_regs *regs, unsigned int n, unsigned long val) { switch (n) { case 5: regs->r10 = val; case 4: regs->r9 = val; case 3: regs->r8 = val; case 2: regs->r7 = val; case 1: regs->r6 = val; case 0: regs->r5 = val; default: BUG(); } } static inline void syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, unsigned long *args) { unsigned int i = 0; unsigned int n = 6; while (n--) *args++ = microblaze_get_syscall_arg(regs, i++); } static inline void syscall_set_arguments(struct task_struct *task, struct pt_regs *regs, const unsigned long *args) { unsigned int i = 0; unsigned int n = 6; while (n--) microblaze_set_syscall_arg(regs, i++, *args++); } asmlinkage unsigned long do_syscall_trace_enter(struct pt_regs *regs); asmlinkage void do_syscall_trace_leave(struct pt_regs *regs); static inline int syscall_get_arch(struct task_struct *task) { return AUDIT_ARCH_MICROBLAZE; } #endif /* __ASM_MICROBLAZE_SYSCALL_H */