summaryrefslogtreecommitdiffstats
path: root/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cddl/dev/dtrace/powerpc/dtrace_asm.S')
-rw-r--r--sys/cddl/dev/dtrace/powerpc/dtrace_asm.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S b/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
index 3adfbe3..e5de4f7 100644
--- a/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
+++ b/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
@@ -67,7 +67,13 @@ dtrace_icookie_t dtrace_interrupt_disable(void)
*/
ASENTRY_NOPROF(dtrace_interrupt_disable)
mfmsr %r3
- andi. %r0,%r3,~PSL_EE@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)
OpenPOWER on IntegriCloud