Author: andrew
Date: Sun Aug 23 13:18:56 2015
New Revision: 287031
URL: https://svnweb.freebsd.org/changeset/base/287031

Log:
  Handle the breakpoint instruction in userland by sending a SIGTRAP signal.

Modified:
  head/sys/arm64/arm64/trap.c

Modified: head/sys/arm64/arm64/trap.c
==============================================================================
--- head/sys/arm64/arm64/trap.c Sun Aug 23 08:22:00 2015        (r287030)
+++ head/sys/arm64/arm64/trap.c Sun Aug 23 13:18:56 2015        (r287031)
@@ -327,6 +327,7 @@ el0_excp_unknown(struct trapframe *frame
 void
 do_el0_sync(struct trapframe *frame)
 {
+       struct thread *td;
        uint32_t exception;
        uint64_t esr;
 
@@ -368,6 +369,11 @@ do_el0_sync(struct trapframe *frame)
        case EXCP_UNKNOWN:
                el0_excp_unknown(frame);
                break;
+       case EXCP_BRK:
+               td = curthread;
+               call_trapsignal(td, SIGTRAP, TRAP_BRKPT, (void *)frame->tf_elr);
+               userret(td, frame);
+               break;
        default:
                print_registers(frame);
                panic("Unknown userland exception %x esr_el1 %lx\n", exception,
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to