1f2f4bf5aSAlex Dewar /* SPDX-License-Identifier: GPL-2.0 */ 28ede0bdbSAl Viro /* 38ede0bdbSAl Viro * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 48ede0bdbSAl Viro */ 58ede0bdbSAl Viro 68ede0bdbSAl Viro #ifndef __UM_PTRACE_GENERIC_H 78ede0bdbSAl Viro #define __UM_PTRACE_GENERIC_H 88ede0bdbSAl Viro 98ede0bdbSAl Viro #ifndef __ASSEMBLY__ 108ede0bdbSAl Viro 1137185b33SAl Viro #include <sysdep/ptrace.h> 128ede0bdbSAl Viro 138ede0bdbSAl Viro struct pt_regs { 148ede0bdbSAl Viro struct uml_pt_regs regs; 158ede0bdbSAl Viro }; 168ede0bdbSAl Viro 171bd09508SChristoph Hellwig #define arch_has_single_step() (1) 181bd09508SChristoph Hellwig 198ede0bdbSAl Viro #define EMPTY_REGS { .regs = EMPTY_UML_PT_REGS } 208ede0bdbSAl Viro 218ede0bdbSAl Viro #define PT_REGS_IP(r) UPT_IP(&(r)->regs) 228ede0bdbSAl Viro #define PT_REGS_SP(r) UPT_SP(&(r)->regs) 238ede0bdbSAl Viro 248ede0bdbSAl Viro #define PT_REGS_RESTART_SYSCALL(r) UPT_RESTART_SYSCALL(&(r)->regs) 258ede0bdbSAl Viro 268ede0bdbSAl Viro #define PT_REGS_SYSCALL_NR(r) UPT_SYSCALL_NR(&(r)->regs) 278ede0bdbSAl Viro 288ede0bdbSAl Viro #define instruction_pointer(regs) PT_REGS_IP(regs) 298ede0bdbSAl Viro 3044011b89SRichard Weinberger #define PTRACE_OLDSETOPTIONS 21 3144011b89SRichard Weinberger 328ede0bdbSAl Viro struct task_struct; 338ede0bdbSAl Viro 348818b671SRichard Weinberger extern long subarch_ptrace(struct task_struct *child, long request, 358818b671SRichard Weinberger unsigned long addr, unsigned long data); 368ede0bdbSAl Viro extern unsigned long getreg(struct task_struct *child, int regno); 378ede0bdbSAl Viro extern int putreg(struct task_struct *child, int regno, unsigned long value); 388ede0bdbSAl Viro 39*457677c7SAmanieu d'Antras extern int arch_set_tls(struct task_struct *new, unsigned long tls); 408ede0bdbSAl Viro extern void clear_flushed_tls(struct task_struct *task); 415334cdaeSRichard Weinberger extern int syscall_trace_enter(struct pt_regs *regs); 421bfa2317SAl Viro extern void syscall_trace_leave(struct pt_regs *regs); 438ede0bdbSAl Viro 448ede0bdbSAl Viro #endif 458ede0bdbSAl Viro 468ede0bdbSAl Viro #endif 47