/* * The syscall table always contains 32 bit pointers since we know that the * address of the function to be called is (way) below 4GB. So the "int" * type here is what we want [need] for both 32 bit and 64 bit systems.
*/ externconstunsignedint sys_call_table[];
/* The system call number is given by the user in %g1 */ staticinlinelong syscall_get_nr(struct task_struct *task, struct pt_regs *regs)
{ int syscall_p = pt_regs_is_syscall(regs);
staticinlinevoid syscall_set_nr(struct task_struct *task, struct pt_regs *regs, int nr)
{ /* * Unlike syscall_get_nr(), syscall_set_nr() can be called only when * the target task is stopped for tracing on entering syscall, so * there is no need to have the same check syscall_get_nr() has.
*/
regs->u_regs[UREG_G1] = nr;
}
staticinlinevoid syscall_rollback(struct task_struct *task, struct pt_regs *regs)
{ /* XXX This needs some thought. On Sparc we don't * XXX save away the original %o0 value somewhere. * XXX Instead we hold it in register %l5 at the top * XXX level trap frame and pass this down to the signal * XXX dispatch code which is the only place that value * XXX ever was needed.
*/
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.