From owner-freebsd-current Sat May 30 03:57:36 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA29014 for freebsd-current-outgoing; Sat, 30 May 1998 03:57:36 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA29009 for ; Sat, 30 May 1998 03:57:33 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from herring.nlsystems.com (herring.nlsystems.com [10.0.0.2]) by nlsystems.com (8.8.8/8.8.5) with SMTP id MAA03028; Sat, 30 May 1998 12:00:16 +0100 (BST) Date: Sat, 30 May 1998 12:00:16 +0100 (BST) From: Doug Rabson To: Matt Thomas cc: current@FreeBSD.ORG Subject: Re: FreeBSD/alpha status report (2) In-Reply-To: <199805301053.GAA05668@tecumseh.altavista-software.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 30 May 1998, Matt Thomas wrote: > At 03:16 AM 5/30/98 , Doug Rabson wrote: > > >I am not saying that there won't be a . I am saying that I > >don't think that all the chipset implementations need to implement it. If > >I do a bus_space interface, I expect that it will be something like > >i386/include/bus.h. It is possible that TurboChannel and TurboLaser boxes > >with multiple PCI busses might provide their own implementation rather > >than the generic one. > > That's misguided. The point of the bus_space and bus_dma is to hide > the mechanics of the underlying bus from the driver. Even if the bus > is simple, the point is to abstract it (so you would have a simple > abstraction). As an example, I recently moved the DEC FDDI driver > to bus_dma (it already used in bus_space) which allowed me to get it > running under NetBSD/pmax but only fixing coherency bugs. This means > this drivers is known to work on 3 difference architectures and 3 > different buses. This would be almost impossible without bus_space > and bus_dma. In a week or two, I should be able to confirm it works > under NetBSD/arm32. Why is it misguided? Drivers which use bus_space will see the same set of functions. Alpha chipsets for modern cpus with dense i/o space will use the trivial implementation of bus_space. Legacy drivers which use inb etc (we have quite a few) will work. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891 Fax: +44 181 381 1039 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message