svn commit: r310438 - stable/11/sys/cddl/dev/dtrace/powerpc

Justin Hibbits jhibbits at FreeBSD.org
Fri Dec 23 02:57:20 UTC 2016


Author: jhibbits
Date: Fri Dec 23 02:57:19 2016
New Revision: 310438
URL: https://svnweb.freebsd.org/changeset/base/310438

Log:
  MFC r303796:
  
    Two fixups for dtrace
  
    * Use the right incantation to get the next stack pointer.
    * Clear EE using the correct instruction sequence.

Modified:
  stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
  stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
==============================================================================
--- stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S	Fri Dec 23 02:57:00 2016	(r310437)
+++ stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S	Fri Dec 23 02:57:19 2016	(r310438)
@@ -67,7 +67,13 @@ dtrace_icookie_t dtrace_interrupt_disabl
 */
 ASENTRY_NOPROF(dtrace_interrupt_disable)
 	mfmsr	%r3
-	andi.	%r0,%r3,~PSL_EE at l
+#ifdef __powerpc64__
+	/* Two-instruction sequence to clear EE flag */
+	rldicl	%r0,%r3,48,1
+	rotldi	%r0,%r0,16
+#else
+	rlwinm	%r0,%r3,0,~PSL_EE /* Clear EE flag */
+#endif
 	mtmsr	%r0
 	blr
 END(dtrace_interrupt_disable)

Modified: stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c
==============================================================================
--- stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c	Fri Dec 23 02:57:00 2016	(r310437)
+++ stable/11/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c	Fri Dec 23 02:57:19 2016	(r310438)
@@ -545,7 +545,7 @@ dtrace_getstackdepth(int aframes)
 		else
 			aframes--;
 		osp = sp;
-		sp = *(uintptr_t *)sp;
+		sp = dtrace_next_sp(sp);
 	}
 	if (depth < aframes)
 		return (0);


More information about the svn-src-all mailing list