From owner-svn-src-projects@FreeBSD.ORG Thu May 12 04:30:50 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A31F91065678; Thu, 12 May 2011 04:30:50 +0000 (UTC) (envelope-from artemb@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0AC3D8FC0A; Thu, 12 May 2011 04:30:49 +0000 (UTC) Received: by qwc9 with SMTP id 9so780107qwc.13 for ; Wed, 11 May 2011 21:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=pPBJPaRhXsDLYRWYD5GH2YnSV3Lp9KaYi4pg/BokbfY=; b=OXLt5EgxEMCvpzfx9G5QXaPo3OPNfu3XONkDI+Px8I50AcUoZrI6McEWlHfIow43FU ChP8tEJDBhBtL1Bk/VqCiwyVKA8apEiybFfCglr48LPC/HG3V8gH4dfgaFoweg9b22OG A771iRXT/02lbp58BmBqmAhc/R6zv55P42pcg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=mMWECCqiH1V5/mScYDQqRdhKs+t02Aoh23gd53W3xiqDDQ0ZqWIIGFfse4cPIoqNgy 8yKk1wAIHKexBMvUEP3L2HIHdHptygkxRQ6p4UBsP3YCkmOTGISyMLdHfgLBcHUqUGQQ YHKXKH5X+qRdq6gIePfsETdF0taEAIV1iuKcM= MIME-Version: 1.0 Received: by 10.229.126.129 with SMTP id c1mr7657418qcs.6.1305173038265; Wed, 11 May 2011 21:03:58 -0700 (PDT) Sender: artemb@gmail.com Received: by 10.229.95.140 with HTTP; Wed, 11 May 2011 21:03:58 -0700 (PDT) In-Reply-To: References: <201105080039.p480doiZ021493@svn.freebsd.org> Date: Thu, 12 May 2011 06:03:58 +0200 X-Google-Sender-Auth: i95xhCGK4KhOn8JinVNjjfz027c Message-ID: From: Artem Belevich To: Attilio Rao Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-projects@freebsd.org, Oleksandr Tymoshenko , src-committers@freebsd.org, Warner Losh , Bruce Evans Subject: Re: svn commit: r221614 - projects/largeSMP/sys/powerpc/include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2011 04:30:50 -0000 On Thu, May 12, 2011 at 5:15 AM, Attilio Rao wrote: > 2011/5/8 Attilio Rao : >> Author: attilio >> Date: Sun May =A08 00:39:49 2011 >> New Revision: 221614 >> URL: http://svn.freebsd.org/changeset/base/221614 >> >> Log: >> =A0All architectures define the size-bounded types (uint32_t, uint64_t, = etc.) >> =A0starting from base C types (int, long, etc). > > mips seems having the same issue, so here is my patch: > http://www.freebsd.org/~attilio/largeSMP/mips-atomic.diff I see at least one problem. N32 ABI is ILP32 even though it can use 64-bit registers for "long long". > #if defined(__mips_n64) || defined(__mips_n32) > static __inline void >-atomic_set_64(__volatile uint64_t *p, uint64_t v) >+atomic_set_long(__volatile u_long *p, u_long v) Using _long here would not match the assembly on N32. If you stick with your changes, then you should drop __mips_n32 from the ifdef above. You may also want to add atomic_*_longlong for n32. Actually, for o64 as we= ll. I think for mips sticking with atomic_*_ would be a better fit considering ABI zoo we potentially have to deal with. --Artem