Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/sysent.h
Show First 20 Lines • Show All 288 Lines • ▼ Show 20 Lines | |||||
const char *syscallname(struct proc *p, u_int code); | const char *syscallname(struct proc *p, u_int code); | ||||
/* Special purpose system call functions. */ | /* Special purpose system call functions. */ | ||||
struct nosys_args; | struct nosys_args; | ||||
int lkmnosys(struct thread *, struct nosys_args *); | int lkmnosys(struct thread *, struct nosys_args *); | ||||
int lkmressys(struct thread *, struct nosys_args *); | int lkmressys(struct thread *, struct nosys_args *); | ||||
int _syscall_thread_enter(struct thread *td, struct sysent *se); | int syscall_thread_enter(struct thread *td, struct sysent *se); | ||||
void _syscall_thread_exit(struct thread *td, struct sysent *se); | void syscall_thread_exit(struct thread *td, struct sysent *se); | ||||
static inline int | |||||
syscall_thread_enter(struct thread *td, struct sysent *se) | |||||
{ | |||||
if (__predict_true((se->sy_thrcnt & SY_THR_STATIC) != 0)) | |||||
return (0); | |||||
return (_syscall_thread_enter(td, se)); | |||||
} | |||||
static inline void | |||||
syscall_thread_exit(struct thread *td, struct sysent *se) | |||||
{ | |||||
if (__predict_true((se->sy_thrcnt & SY_THR_STATIC) != 0)) | |||||
return; | |||||
_syscall_thread_exit(td, se); | |||||
} | |||||
int shared_page_alloc(int size, int align); | int shared_page_alloc(int size, int align); | ||||
int shared_page_fill(int size, int align, const void *data); | int shared_page_fill(int size, int align, const void *data); | ||||
void shared_page_write(int base, int size, const void *data); | void shared_page_write(int base, int size, const void *data); | ||||
void exec_sysvec_init(void *param); | void exec_sysvec_init(void *param); | ||||
void exec_sysvec_init_secondary(struct sysentvec *sv, struct sysentvec *sv2); | void exec_sysvec_init_secondary(struct sysentvec *sv, struct sysentvec *sv2); | ||||
void exec_inittk(void); | void exec_inittk(void); | ||||
#define INIT_SYSENTVEC(name, sv) \ | #define INIT_SYSENTVEC(name, sv) \ | ||||
SYSINIT(name, SI_SUB_EXEC, SI_ORDER_ANY, \ | SYSINIT(name, SI_SUB_EXEC, SI_ORDER_ANY, \ | ||||
(sysinit_cfunc_t)exec_sysvec_init, sv); | (sysinit_cfunc_t)exec_sysvec_init, sv); | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* !_SYS_SYSENT_H_ */ | #endif /* !_SYS_SYSENT_H_ */ |