From owner-svn-src-projects@FreeBSD.ORG Sun Jun 6 02:42:01 2010 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 08FF6106564A; Sun, 6 Jun 2010 02:42:01 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id B0CB68FC17; Sun, 6 Jun 2010 02:42:00 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o562XWgE088694; Sat, 5 Jun 2010 20:33:33 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 05 Jun 2010 20:33:48 -0600 (MDT) Message-Id: <20100605.203348.651115405925906974.imp@bsdimp.com> To: xcllnt@mac.com From: "M. Warner Losh" In-Reply-To: <184A275D-B98A-4DBF-9F4D-22F27B9319DD@mac.com> References: <201006052041.o55KfMF6032155@svn.freebsd.org> <184A275D-B98A-4DBF-9F4D-22F27B9319DD@mac.com> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org, nwhitehorn@FreeBSD.org Subject: Re: svn commit: r208850 - projects/ppc64/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: Sun, 06 Jun 2010 02:42:01 -0000 In message: <184A275D-B98A-4DBF-9F4D-22F27B9319DD@mac.com> Marcel Moolenaar writes: : : On Jun 5, 2010, at 1:41 PM, Nathan Whitehorn wrote: : : > Author: nwhitehorn : > Date: Sat Jun 5 20:41:22 2010 : > New Revision: 208850 : > URL: http://svn.freebsd.org/changeset/base/208850 : > : > Log: : > BUS_SPACE_UNRESTRICTED is a flag, not an address, so it should be an int, : > not a long. : : This probably isn't right. How would you distinguish between a 32-bit : maximum of and unlimited if both can have the value 0xFFFFFFFF. : Making BUS_SPACE_UNRESTRICTED a long prevents zero-extension to 64-bit : and thus prevents this ambiguity. But this define is used for busdma's number of segments. It isn't used for an address at all... from the busdma man page for bus_dma_tag_create: nsegments Number of discontinuities (scatter/gather segments) allowed in a DMA mapped region. If there is no restriction, BUS_SPACE_UNRESTRICTED may be speci- fied. so an argument consistent with the definition of nsegments is what is needed. The man page doesn't specify a type for nsegments, but sys/bus_dma.h defines it as: int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, bus_size_t boundary, bus_addr_t lowaddr, bus_addr_t highaddr, bus_dma_filter_t *filtfunc, void *filtfuncarg, bus_size_t maxsize, int nsegments, bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc, void *lockfuncarg, bus_dma_tag_t *dmat); so it is more proper to have it be an int than a long. I got tripped up on this stupid name too when I was adding it for MIPS. Any why it is in a MD file instead of an MI file is beyond me. I think it should be defined in sys/bus_dma.h, but maybe I'm just nuts... Warner