From owner-freebsd-alpha Wed Aug 18 8:51:32 1999 Delivered-To: freebsd-alpha@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id 4398C14C3D for ; Wed, 18 Aug 1999 08:51:24 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id RAA52509; Wed, 18 Aug 1999 17:00:56 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Wed, 18 Aug 1999 17:00:56 +0100 (BST) From: Doug Rabson To: Peter Wemm Cc: alpha@freebsd.org Subject: Re: rman_get_virtual() on alpha In-Reply-To: <19990818144402.DC8091C99@overcee.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Wed, 18 Aug 1999, Peter Wemm wrote: > Doug Rabson wrote: > > On Wed, 18 Aug 1999, Peter Wemm wrote: > > > > > So, what's the situation these days with rman_get_virtual()? if_fxp explod > es > > > on the alpha because it allocates SYS_RES_MEMORY and wants the virtual > > > address of it, but the alpha still is returning physical addresses it seems > . > > > > > > It seems to me we might need some alternative to rman_get_virtual since it > > > doesn't have enough context and is just a hack. Perhaps allocating memory > > > and activating a mapping etc needs to be seperate bus methods? That way we > > > can allocate memory, and later activate it (pmap_mapdev on x86, BWX, or > > > DENSE on Alpha as requested) and free it's kvm mappings? > > > > The fxp driver should probable use SYS_RES_DENSE to get the right virtual > > pointer. It would certainly be a lot cleaner to separate the resource > > allocation from the virtual mapping. > > The question is though, allocating memory resources on the alpha - does it > depend on the mapping type (dense vs. bwx)? Or is that decision better > left to mapping time? And can we fit this in with bus_space etc? (NetBSD > has a bus_space_map() function to map bus space into kvm, maybe we need a > parallel to that such that we don't have to expose DENSE/BWX etc mappings > to drivers). Or maybe map it in both dense and bwx space and let bus_space > use whichever method is convenient? There is no actual overhead for 'mapping' the resources since we just point at the right part of the direct physical->virtual mapped segment. The main issue as I see it is that the existing mechanism is ugly. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message