1230d1866SGreg Ungerer #ifndef _M68K_PTRACE_H 2230d1866SGreg Ungerer #define _M68K_PTRACE_H 3230d1866SGreg Ungerer 410b3a979SDavid Howells #include <uapi/asm/ptrace.h> 5230d1866SGreg Ungerer 6230d1866SGreg Ungerer #ifndef __ASSEMBLY__ 7230d1866SGreg Ungerer 8230d1866SGreg Ungerer #ifndef PS_S 9230d1866SGreg Ungerer #define PS_S (0x2000) 10230d1866SGreg Ungerer #define PS_M (0x1000) 11230d1866SGreg Ungerer #endif 12230d1866SGreg Ungerer 13230d1866SGreg Ungerer #define user_mode(regs) (!((regs)->sr & PS_S)) 14230d1866SGreg Ungerer #define instruction_pointer(regs) ((regs)->pc) 15230d1866SGreg Ungerer #define profile_pc(regs) instruction_pointer(regs) 16d878d6daSAl Viro #define current_pt_regs() \ 17d878d6daSAl Viro (struct pt_regs *)((char *)current_thread_info() + THREAD_SIZE) - 1 18*1ca97bb5SAl Viro #define current_user_stack_pointer() rdusp() 19faa47b46SAndreas Schwab 20faa47b46SAndreas Schwab #define arch_has_single_step() (1) 21faa47b46SAndreas Schwab 22f60a5572SGreg Ungerer #ifdef CONFIG_MMU 23faa47b46SAndreas Schwab #define arch_has_block_step() (1) 24faa47b46SAndreas Schwab #endif 25faa47b46SAndreas Schwab 26230d1866SGreg Ungerer #endif /* __ASSEMBLY__ */ 27230d1866SGreg Ungerer #endif /* _M68K_PTRACE_H */ 28