From owner-svn-src-head@freebsd.org Fri May 27 12:02:13 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8DA8CB4A483; Fri, 27 May 2016 12:02:13 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5AC221859; Fri, 27 May 2016 12:02:13 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4RC2C6B052766; Fri, 27 May 2016 12:02:12 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4RC2CAZ052765; Fri, 27 May 2016 12:02:12 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201605271202.u4RC2CAZ052765@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 27 May 2016 12:02:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r300850 - head/sys/cddl/dev/dtrace/aarch64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 12:02:13 -0000 Author: andrew Date: Fri May 27 12:02:12 2016 New Revision: 300850 URL: https://svnweb.freebsd.org/changeset/base/300850 Log: Fix dtrace_interrupt_disable and dtrace_interrupt_enable by having the former return the current status for the latter to use. Without this we could enable interrupts when they shouldn't be. It's still not quite right as it should only update the bits we care about, bit should be good enough until the correct fix can be tested. PR: 204270 Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Modified: head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Modified: head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S ============================================================================== --- head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Fri May 27 11:50:26 2016 (r300849) +++ head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Fri May 27 12:02:12 2016 (r300850) @@ -55,6 +55,7 @@ END(dtrace_membar_consumer) dtrace_icookie_t dtrace_interrupt_disable(void) */ ENTRY(dtrace_interrupt_disable) + mrs x0, daif msr daifset, #2 RET END(dtrace_interrupt_disable) @@ -63,7 +64,7 @@ END(dtrace_interrupt_disable) void dtrace_interrupt_enable(dtrace_icookie_t cookie) */ ENTRY(dtrace_interrupt_enable) - msr daifclr, #2 + msr daif, x0 RET END(dtrace_interrupt_enable) /*