cregit-Linux how code gets into the kernel

Release 4.18 arch/nds32/include/asm/ptrace.h

// SPDX-License-Identifier: GPL-2.0
// Copyright (C) 2005-2017 Andes Technology Corporation

#ifndef __ASM_NDS32_PTRACE_H

#define __ASM_NDS32_PTRACE_H

#include <uapi/asm/ptrace.h>

/*
 * If pt_regs.syscallno == NO_SYSCALL, then the thread is not executing
 * a syscall -- i.e., its most recent entry into the kernel from
 * userspace was not via syscall, or otherwise a tracer cancelled the
 * syscall.
 *
 * This must have the value -1, for ABI compatibility with ptrace etc.
 */

#define NO_SYSCALL (-1)
#ifndef __ASSEMBLY__
#include <linux/types.h>


struct pt_regs {
	
union {
		
struct user_pt_regs user_regs;
		
struct {
			
long uregs[26];
			
long fp;
			
long gp;
			
long lp;
			
long sp;
			
long ipc;
#if defined(CONFIG_HWZOL)
			
long lb;
			
long le;
			
long lc;
#else
			
long dummy[3];
#endif
			
long syscallno;
		};
	};
	
long orig_r0;
	
long ir0;
	
long ipsw;
	
long pipsw;
	
long pipc;
	
long pp0;
	
long pp1;
	
long fucop_ctl;
	
long osp;
};


static inline bool in_syscall(struct pt_regs const *regs) { return regs->syscallno != NO_SYSCALL; }

Contributors

PersonTokensPropCommitsCommitProp
Greentime Hu20100.00%1100.00%
Total20100.00%1100.00%


static inline void forget_syscall(struct pt_regs *regs) { regs->syscallno = NO_SYSCALL; }

Contributors

PersonTokensPropCommitsCommitProp
Greentime Hu18100.00%1100.00%
Total18100.00%1100.00%


static inline unsigned long regs_return_value(struct pt_regs *regs) { return regs->uregs[0]; }

Contributors

PersonTokensPropCommitsCommitProp
Greentime Hu21100.00%1100.00%
Total21100.00%1100.00%

extern void show_regs(struct pt_regs *); /* Avoid circular header include via sched.h */ struct task_struct; #define arch_has_single_step() (1) #define user_mode(regs) (((regs)->ipsw & PSW_mskPOM) == 0) #define interrupts_enabled(regs) (!!((regs)->ipsw & PSW_mskGIE)) #define user_stack_pointer(regs) ((regs)->sp) #define instruction_pointer(regs) ((regs)->ipc) #define profile_pc(regs) instruction_pointer(regs) #endif /* __ASSEMBLY__ */ #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Greentime Hu232100.00%1100.00%
Total232100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.