From owner-svn-src-head@freebsd.org Mon Mar 23 23:00:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6B3B4272A21; Mon, 23 Mar 2020 23:00:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48mVG62JPwz4MXZ; Mon, 23 Mar 2020 23:00:14 +0000 (UTC) (envelope-from cem@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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4834E1DC63; Mon, 23 Mar 2020 23:00:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02NN0EeP008756; Mon, 23 Mar 2020 23:00:14 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02NN0EaB008755; Mon, 23 Mar 2020 23:00:14 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202003232300.02NN0EaB008755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Mon, 23 Mar 2020 23:00:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359264 - head/sys/arm/include X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/arm/include X-SVN-Commit-Revision: 359264 X-SVN-Commit-Repository: base 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.29 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: Mon, 23 Mar 2020 23:00:14 -0000 Author: cem Date: Mon Mar 23 23:00:13 2020 New Revision: 359264 URL: https://svnweb.freebsd.org/changeset/base/359264 Log: arm: Fix atomic long APIs to correct 'u_long' signedness As defined in atomic(9) and implemented on other architectures, the atomic(9) functions all act on unsigned pointers and types. Prior to this revision, arm implemented some atomic(9) 'long' sized routines with correct unsigned type, but others were incorrectly signed. Reviewed by: tinderbox Sponsored by: Dell EMC Isilon Modified: head/sys/arm/include/atomic-v6.h Modified: head/sys/arm/include/atomic-v6.h ============================================================================== --- head/sys/arm/include/atomic-v6.h Mon Mar 23 21:26:32 2020 (r359263) +++ head/sys/arm/include/atomic-v6.h Mon Mar 23 23:00:13 2020 (r359264) @@ -325,31 +325,31 @@ atomic_fcmpset_rel_32(volatile uint32_t *_ptr, uint32_ } static __inline int -atomic_fcmpset_long(volatile long *_ptr, long *_old, long _new) +atomic_fcmpset_long(volatile u_long *_ptr, u_long *_old, u_long _new) { int ret; - ATOMIC_FCMPSET_CODE(ret, long, ""); + ATOMIC_FCMPSET_CODE(ret, u_long, ""); return (ret); } static __inline int -atomic_fcmpset_acq_long(volatile long *_ptr, long *_old, long _new) +atomic_fcmpset_acq_long(volatile u_long *_ptr, u_long *_old, u_long _new) { int ret; - ATOMIC_FCMPSET_CODE(ret, long, ""); + ATOMIC_FCMPSET_CODE(ret, u_long, ""); dmb(); return (ret); } static __inline int -atomic_fcmpset_rel_long(volatile long *_ptr, long *_old, long _new) +atomic_fcmpset_rel_long(volatile u_long *_ptr, u_long *_old, u_long _new) { int ret; dmb(); - ATOMIC_FCMPSET_CODE(ret, long, ""); + ATOMIC_FCMPSET_CODE(ret, u_long, ""); return (ret); } @@ -509,7 +509,7 @@ atomic_cmpset_rel_32(volatile uint32_t *_ptr, uint32_t } static __inline int -atomic_cmpset_long(volatile long *_ptr, long _old, long _new) +atomic_cmpset_long(volatile u_long *_ptr, u_long _old, u_long _new) { int ret; @@ -518,7 +518,7 @@ atomic_cmpset_long(volatile long *_ptr, long _old, lon } static __inline int -atomic_cmpset_acq_long(volatile long *_ptr, long _old, long _new) +atomic_cmpset_acq_long(volatile u_long *_ptr, u_long _old, u_long _new) { int ret; @@ -528,7 +528,7 @@ atomic_cmpset_acq_long(volatile long *_ptr, long _old, } static __inline int -atomic_cmpset_rel_long(volatile long *_ptr, long _old, long _new) +atomic_cmpset_rel_long(volatile u_long *_ptr, u_long _old, u_long _new) { int ret;