diff options
author | jhibbits <jhibbits@FreeBSD.org> | 2013-09-03 00:42:15 +0000 |
---|---|---|
committer | jhibbits <jhibbits@FreeBSD.org> | 2013-09-03 00:42:15 +0000 |
commit | 67d6bf79922448fb405226340f66c60404c48d8c (patch) | |
tree | 397aa5862818339794167dfd561f04ef7ccda703 /sys/powerpc/aim | |
parent | 241d6ad5a0c8a52a564eacc5aa40d69099a3339e (diff) | |
download | FreeBSD-src-67d6bf79922448fb405226340f66c60404c48d8c.zip FreeBSD-src-67d6bf79922448fb405226340f66c60404c48d8c.tar.gz |
Enable PMC interrupt handling, and fix a DTrace trap handling bug.
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r-- | sys/powerpc/aim/trap.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/powerpc/aim/trap.c b/sys/powerpc/aim/trap.c index 97f4ca1..2edbbfa 100644 --- a/sys/powerpc/aim/trap.c +++ b/sys/powerpc/aim/trap.c @@ -197,13 +197,11 @@ trap(struct trapframe *frame) #ifdef HWPMC_HOOKS if (type == EXC_PERF && (pmc_intr != NULL)) { -#ifdef notyet - (*pmc_intr)(PCPU_GET(cpuid), frame); - if (!user) + (*pmc_intr)(PCPU_GET(cpuid), frame); + if (user) + userret(td, frame); return; -#endif } - else #endif #ifdef KDTRACE_HOOKS /* @@ -316,9 +314,11 @@ trap(struct trapframe *frame) if (*(uintptr_t *)frame->srr0 == 0x7c810808) { if (dtrace_invop_jump_addr != NULL) { dtrace_invop_jump_addr(frame); + return; } } } + break; #endif #ifdef __powerpc64__ case EXC_DSE: |