Date: Wed, 12 Jan 2011 16:44:57 -0700 From: Warner Losh <imp@bsdimp.com> To: mdf@FreeBSD.org Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, John Baldwin <jhb@FreeBSD.org> Subject: Re: svn commit: r217330 - head/sys/x86/x86 Message-ID: <4D2E3CF9.5080603@bsdimp.com> In-Reply-To: <AANLkTi=Rx2Gyh-n4SLaK3QSvJEvaS2JOm27SEwidmSwy@mail.gmail.com> References: <201101122108.p0CL8o3Q012038@svn.freebsd.org> <201101121621.30371.jhb@freebsd.org> <AANLkTi=Rx2Gyh-n4SLaK3QSvJEvaS2JOm27SEwidmSwy@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/12/2011 14:27, mdf@FreeBSD.org wrote: > On Wed, Jan 12, 2011 at 1:21 PM, John Baldwin<jhb@freebsd.org> wrote: >> On Wednesday, January 12, 2011 4:08:50 pm Matthew D Fleming wrote: >>> Author: mdf >>> Date: Wed Jan 12 21:08:49 2011 >>> New Revision: 217330 >>> URL: http://svn.freebsd.org/changeset/base/217330 >>> >>> Log: >>> Fix a brain fart. Since this file is shared between i386 and amd64, a >>> bus_size_t may be 32 or 64 bits. Change the bounce_zone alignment field >>> to explicitly be 32 bits, as I can't really imagine a DMA device that >>> needs anything close to 2GB alignment of data. >> Hmm, we do have devices with 4GB boundaries though. I think I'd prefer it if >> you instead if you did this: >> >> #if defined(amd64) || defined(PAE) >> #define SYSCTL_ADD_BUS_SIZE_T SYSCTL_ADD_UQUAD >> #else >> #define SYSCTL_ADD_BUS_SIZE_T SYSCTL_ADD_UINT >> #endif >> >> and then just used SYSCTL_ADD_BUS_SIZE_T() in the code so we could let the >> members in the bounce zone retain the same types passed to >> bus_dma_tag_create(). > But would there be a device that can't start DMA except on a 4GB > boundary? I thought that's what this member was for. You never know about weird, custom devices... This is safer and would be more future proof. its the whole reason we have the different types... And sysctl is too type-poor these days, imho, since it goes to the base type and has little facility to go for the logical type. Go on, tell me how to specify a physical address that will always work... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D2E3CF9.5080603>