Date: Mon, 14 Jun 2004 17:21:22 -0400 From: Jung-uk Kim <jkim@niksun.com> To: freebsd-amd64@freebsd.org Cc: eta@lclark.edu Subject: Re: [PATCH] AMD64 On-CPU GART support + more Message-ID: <200406141721.22252.jkim@niksun.com> In-Reply-To: <200406141646.03171.jkim@niksun.com> References: <200406141646.03171.jkim@niksun.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_SbhzAYUSvVxtkZr Content-Type: text/plain; charset="euc-kr" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 14 June 2004 04:46 pm, Jung-uk Kim wrote: > Since the latest DRM is imported, I made my AMD64 on-CPU GART[1] > working (patch attached). This driver has some ugliness because of > its nature: driver is for AGP bridge but directly touches north > bridge registers (of multiple north bridges if you have multiple > CPUs). Ideally we can attach child driver here for each bridge but > it is just a part of its functions so that I didn't want to create > a full-blown driver. The second ugliness comes from the agp_sis.c > and agp_via.c. They fall back to 'generic host to PCI bridge' if > it is not supported but it finds a bridge. I believe this has to > be removed. The kludge is 'AGP_AMD64_GART' in kernel > configuration. This kludge can be removed when the 'fallback' > match/probe is removed. For now, 'AGP_AMD64_GART' is required to > test this driver. If anyone is interested, please cleanup/fix them. > :-( Oops, agp_via.c has a bad merge. Sorry. Jung-uk Kim > It's tested with Via K8T800 (both FreeBSD/i386 and FreeBSD/amd64) > but it should work with other bridges/tunnels. XFree86 snapshot > (after Mesa 6.1 import) + DRI snapshot worked fine with MGA 400 and > Radeon RV280 in FreeBSD/i386. In FreeBSD/amd64, MGA 400 works but > Radeon RV280 doesn't work but I believe it's DRM/DRI's problem, i. > e., Radeon SAREA handles. > > Cheers, > > Jung-uk Kim > > [1] BIOS and Kernel Developer's Guide for AMD Athlon? 64 and AMD > Opteron(tm) Processors (3.6.12-15) > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_ >docs/26094.PDF > > * PS: I think the current agp_via.c doesn't support K8T800 or other > AGP v3 bridges correctly. If anyone is interested, let me know. > ;-) --Boundary-00=_SbhzAYUSvVxtkZr Content-Type: text/x-diff; charset="euc-kr"; name="agp_via.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="agp_via.diff" --- src/sys/pci/agp_via.c.orig Sun May 30 16:00:40 2004 +++ src/sys/pci/agp_via.c Mon Jun 14 17:15:59 2004 @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD: src/sys/pci/agp_via.c,v 1.15 2004/05/30 20:00:40 phk Exp $"); #include "opt_bus.h" +#include "opt_agp.h" #include <sys/param.h> #include <sys/systm.h> @@ -88,7 +89,11 @@ case 0x06911106: return ("VIA 82C691 (Apollo Pro) host to PCI bridge"); case 0x31881106: +#ifdef AGP_AMD64_GART + return NULL; +#else return ("VIA 8385 host to PCI bridge"); +#endif }; if (pci_get_vendor(dev) == 0x1106) --Boundary-00=_SbhzAYUSvVxtkZr--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406141721.22252.jkim>