Author: jhb Date: Tue Apr 24 05:26:28 2018 New Revision: 332907 URL: https://svnweb.freebsd.org/changeset/base/332907
Log: Expose breakpoint() to userland from <machine/cpufunc.h> on MIPS. Enable ptrace() tests using breakpoint on MIPS as well. Tested on: mips64 MFC after: 1 month Modified: head/sys/mips/include/cpufunc.h head/tests/sys/kern/ptrace_test.c Modified: head/sys/mips/include/cpufunc.h ============================================================================== --- head/sys/mips/include/cpufunc.h Tue Apr 24 05:20:16 2018 (r332906) +++ head/sys/mips/include/cpufunc.h Tue Apr 24 05:26:28 2018 (r332907) @@ -108,6 +108,12 @@ mips_wbflush(void) #endif } +static __inline void +breakpoint(void) +{ + __asm __volatile ("break"); +} + #ifdef _KERNEL /* * XXX @@ -363,12 +369,6 @@ get_intr_mask(void) { return (mips_rd_status() & MIPS_SR_INT_MASK); -} - -static __inline void -breakpoint(void) -{ - __asm __volatile ("break"); } #if defined(__GNUC__) && !defined(__mips_o32) Modified: head/tests/sys/kern/ptrace_test.c ============================================================================== --- head/tests/sys/kern/ptrace_test.c Tue Apr 24 05:20:16 2018 (r332906) +++ head/tests/sys/kern/ptrace_test.c Tue Apr 24 05:26:28 2018 (r332907) @@ -54,7 +54,8 @@ __FBSDID("$FreeBSD$"); /* * Architectures with a user-visible breakpoint(). */ -#if defined(__amd64__) || defined(__i386__) || defined(__sparc64__) +#if defined(__amd64__) || defined(__i386__) || defined(__mips__) || \ + defined(__sparc64__) #define HAVE_BREAKPOINT #endif @@ -64,6 +65,8 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_BREAKPOINT #if defined(__amd64__) || defined(__i386__) #define SKIP_BREAK(reg) +#elif defined(__mips__) +#define SKIP_BREAK(reg) ((reg)->r_regs[PC] += 4) #elif defined(__sparc64__) #define SKIP_BREAK(reg) do { \ (reg)->r_tpc = (reg)->r_tnpc + 4; \ _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"