From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 22 18:56:02 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C591E106566B for ; Tue, 22 Mar 2011 18:56:02 +0000 (UTC) (envelope-from mdf356@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 5DC328FC08 for ; Tue, 22 Mar 2011 18:56:01 +0000 (UTC) Received: by wyf23 with SMTP id 23so7682732wyf.13 for ; Tue, 22 Mar 2011 11:56:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=j1DdiB0JzUddYAxUYrCKDl1jPk33NAPW4e7TtGjPT7Q=; b=o/6yTPray8FFOV3RNVBKyrDzcmMvYzHbM+nZVAu05BvxA6iC2t38S5RTpGRpDyzJTO hNtn2fMYfNzjeT8MHDpvMYYEbK786g/jMNN4Jy94Mv1jnkrOmEan0KBTbmIaca8TxLDm CaNww4PTmDrHTw0Ghr9NWecFTM88baHKbiJDg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=m7732hG02eYNGV98pIf6I5OEYMfSmrM7THeKAvEop3DPz9mJBN2sSvUmzGO68cDTkH a68jOIEFj7a0NRPWx6cuurOhw4uT9JIPI6YAZJd0UNKM/BprBF4ebyRs15GuIkvQcNha SO9exy+3NaETNomCLQIoEtu5jRmt8n+NqBRQY= MIME-Version: 1.0 Received: by 10.216.69.3 with SMTP id m3mr6345396wed.9.1300820159431; Tue, 22 Mar 2011 11:55:59 -0700 (PDT) Received: by 10.216.52.209 with HTTP; Tue, 22 Mar 2011 11:55:59 -0700 (PDT) In-Reply-To: <20110322181219.GU78089@deviant.kiev.zoral.com.ua> References: <20110322181219.GU78089@deviant.kiev.zoral.com.ua> Date: Tue, 22 Mar 2011 11:55:59 -0700 Message-ID: From: Matthew Fleming To: Kostik Belousov Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-hackers Subject: Re: DMA controller on Northbridge? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 18:56:02 -0000 On Tue, Mar 22, 2011 at 11:12 AM, Kostik Belousov wro= te: > On Tue, Mar 22, 2011 at 10:11:04AM -0700, Matthew Fleming wrote: >> How can I tell if the Northbridge on a machine has a built-in DMA >> controller? =A0And if it does, what device would I use to control it? >> >> I ask because I'm working with a PCI card that has a 36-bit physical >> address limit, and that means bounce buffers when using more than 64GB >> of memory. =A0I'd prefer not to use bounce buffers, and since the card's >> memory that I'm using is mapped into the physical space of the FreeBSD >> host, the entire address space of the card that I care about is >> available to FreeBSD. =A0So while pio to the card's memory is too slow >> to be useful, if there was a way to use a DMA controller on the >> motherboard to get data into and out of the card, that may be >> preferable to using the card's DMAC with the limited address space. >> >> But all that's just theory -- I have no idea how to tell whether the >> mobo has a DMAC, and if it does, how to control it. =A0Help? :-) >> >> Attached is the boot dmesg; I can also run pciconf commands, etc., to >> help out with figuring out what I have. > > I believe what are you looking for is > ftp://download.intel.com/technology/.../Intel(r)_VT_for_Direct_IO.pdf This link doesn't work for me. > On my X58 machine it is shown like this: > none6@pci0:0:22:2: =A0 class=3D0x088000 card=3D0xf38015d9 chip=3D0x343280= 86 rev=3D0x12 hdr=3D0x00 > =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation' > =A0 =A0device =A0 =A0 =3D 'DMA Engine' > =A0 =A0class =A0 =A0 =A0=3D base peripheral > =A0 =A0cap 11[80] =3D MSI-X supports 1 message in map 0x10 > =A0 =A0cap 10[90] =3D PCI-Express 2 root endpoint max data 128(128) link = x0(x0) > =A0 =A0cap 01[e0] =3D powerspec 3 =A0supports D0 D3 =A0current D0 I do seem to have several DMA Engine entries in pciconf on this hardware. Hopefully the above doc will explain what to do. :-) Thanks, matthew