svn commit: r300859 - head/sys/cddl/dev/dtrace/riscv

Ruslan Bukin br at FreeBSD.org
Fri May 27 17:58:11 UTC 2016


Author: br
Date: Fri May 27 17:58:10 2016
New Revision: 300859
URL: https://svnweb.freebsd.org/changeset/base/300859

Log:
  Correct the implementation of dtrace_interrupt_disable/enable.
  
  Pointed out by:	andrew
  Sponsored by:	DARPA, AFRL
  Sponsored by:	HEIF5

Modified:
  head/sys/cddl/dev/dtrace/riscv/dtrace_asm.S

Modified: head/sys/cddl/dev/dtrace/riscv/dtrace_asm.S
==============================================================================
--- head/sys/cddl/dev/dtrace/riscv/dtrace_asm.S	Fri May 27 17:57:30 2016	(r300858)
+++ head/sys/cddl/dev/dtrace/riscv/dtrace_asm.S	Fri May 27 17:58:10 2016	(r300859)
@@ -57,7 +57,8 @@ END(dtrace_membar_consumer)
 dtrace_icookie_t dtrace_interrupt_disable(void)
 */
 ENTRY(dtrace_interrupt_disable)
-	csrci	sstatus, 1
+	csrrci	a0, sstatus, SSTATUS_IE
+	andi	a0, a0, SSTATUS_IE
 	RET
 END(dtrace_interrupt_disable)
 
@@ -65,7 +66,7 @@ END(dtrace_interrupt_disable)
 void dtrace_interrupt_enable(dtrace_icookie_t cookie)
 */
 ENTRY(dtrace_interrupt_enable)
-	csrsi	sstatus, 1
+	csrs	sstatus, a0
 	RET
 END(dtrace_interrupt_enable)
 /*


More information about the svn-src-head mailing list