From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 3 04:02:45 2006 Return-Path: X-Original-To: freebsd-hackers@FreeBSD.ORG Delivered-To: freebsd-hackers@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0416116A403 for ; Mon, 3 Jul 2006 04:02:45 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BC2443D49 for ; Mon, 3 Jul 2006 04:02:44 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [IPv6:::1] (may be forged)) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k6342Emu037541; Sun, 2 Jul 2006 22:02:14 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 02 Jul 2006 22:02:17 -0600 (MDT) Message-Id: <20060702.220217.2073896080.imp@bsdimp.com> To: czander@nvidia.com From: "M. Warner Losh" In-Reply-To: <20060629111231.GA692@wolf.nvidia.com> References: <20060629111231.GA692@wolf.nvidia.com> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: NVIDIA FreeBSD kernel feature requests 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: Mon, 03 Jul 2006 04:02:45 -0000 In message: <20060629111231.GA692@wolf.nvidia.com> Christian Zander writes: : This summary makes an attempt to describe the kernel interfaces needed by : the NVIDIA FreeBSD i386 graphics driver to achieve feature parity with : the Linux/Solaris graphics drivers, and/or required to make support for : the FreeBSD amd64 platform feasible. It also describes some of the : technical difficulties encountered by NVIDIA during the FreeBSD i386 : graphics driver's development, how these problems have been worked around : and what could be done to solve them better. Thank you for taking the time to let us know how we might make the system better. : The NVIDIA graphics driver needs to be able to create uncached kernel : and user mappings of I/O memory, such as NVIDIA GPU registers. The : FreeBSD kernel does not currently provide the interfaces necessary to : specify the memory type when creating such mappings, which makes it : difficult for the NVIDIA graphics driver to guarantee that the correct : memory type is selected. Is this via the bus_alloc_resource interface? Is uncached kernel memory different than non-prefetchable memory? If so, please specify how it is different. If not, then we have an interface that will do what you want, except it is only implemented for cardbus and would need to be implemented for pci pci and pci host bridges. Would having better functionality here help? I noticed it wasn't on the task list... Warner