Date: Tue, 15 Apr 1997 04:40:36 -0500 (CDT) From: "Daniel M. Eischen" <deischen@iworks.InterWorks.org> To: dg@root.com Cc: krygier@kph.uni-mainz.de, questions@FreeBSD.ORG Subject: Re: special memory device Message-ID: <199704150940.EAA15971@iworks.InterWorks.org>
next in thread | raw e-mail | index | archive | help
> >The problem I have, is that if I create a driver for this chip, > >how do I ask the PCI support code for 4 consecutive 16MB regions > >of the PCI bus? From what I can tell, the PCI code will only let > >you map an address space as it is defined in the PCI configuration > >space registers. For the Tundra Universe chip, the registers > >that configure the special PCI slave image are not in the PCI > >configuration space. > > The obvious question this raises is: How do you do address space conflict > resolution if you ignore the assignments made by the PCI BIOS? Right. There should probably be a resource list to manage these addresses. Drivers would have to call a set of common functions in order to allocate PCI address space. The Tundra Universe chip shares the PCI bus with a DEC 21240 and an Adaptec 7880, so I can't allocate an address range without ensuring it doesn't conflict. > It is possible to map any arbitrary physical address range when not using > the PCI map routine. In fact if you use a device driver to do this (via the > device mmap interface, which uses the VM "device pager"), the PCI mapping code > wouldn't be involved in any case. For examples of this, look at the handling > of /dev/vga (ttyv0...syscons.c...scmmap()). Very trivial. Ahh, thanks for the pointer :-) Dan Eischen deischen@iworks.InterWorks.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704150940.EAA15971>