From owner-freebsd-arch@FreeBSD.ORG Sun Oct 16 04:39:22 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E37031065673 for ; Sun, 16 Oct 2011 04:39:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id A57998FC15 for ; Sun, 16 Oct 2011 04:39:22 +0000 (UTC) Received: by ggeq3 with SMTP id q3so2797976gge.13 for ; Sat, 15 Oct 2011 21:39:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; 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; bh=4ZL8JTi74pr3WC6DvMadhCV1rvuMoetmtX6UpbGVqK4=; b=YdB4fs142ZU4A5ssa+VFOIJK+eOPpWliHDPxkPuodk+IKtZToVFG90wmVlDlP9e6RN 2BXQp7mDAxtm9Rcclen0Esp7sSpXJnqmBj59kwZ6cdihFvvPvF2Sk0LW6n/0tS0iNa1z 9I2ftydHwgmHzglfISG8hhTx58Io7B451aHb8= MIME-Version: 1.0 Received: by 10.236.170.168 with SMTP id p28mr10923088yhl.100.1318739961903; Sat, 15 Oct 2011 21:39:21 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.236.95.147 with HTTP; Sat, 15 Oct 2011 21:39:21 -0700 (PDT) In-Reply-To: <4EEA1F8B-9854-4C5C-A397-95AD454D3680@bsdimp.com> References: <4EEA1F8B-9854-4C5C-A397-95AD454D3680@bsdimp.com> Date: Sun, 16 Oct 2011 12:39:21 +0800 X-Google-Sender-Auth: DruQAVKIyTCx1is_KYPeJWSHTZM Message-ID: From: Adrian Chadd To: Warner Losh Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-arch@freebsd.org Subject: Re: newbus bus access routines and bus_space_barrier() X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Oct 2011 04:39:23 -0000 On 16 October 2011 11:45, Warner Losh wrote: > Usually they are needed, but we get away without them often because they are needed in a limited set of circumstances and we have memory barriers in our locking primitives. Right. I'll just change the ath driver register ops to enforce a read/write barrier on each read or write. It'd be nice to teach the driver and the HAL about "correct" barriers but I just don't have the time. :( (FYI: apparently linux's ioread32/iowrite32 operations enforce barriers on each op.) Adrian