From owner-freebsd-questions Mon Apr 14 17:50:20 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id RAA29231 for questions-outgoing; Mon, 14 Apr 1997 17:50:20 -0700 (PDT) Received: from krygierpc.kph.uni-mainz.de (krygierpc.kph.uni-mainz.de [134.93.132.24]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id RAA29219 for ; Mon, 14 Apr 1997 17:50:16 -0700 (PDT) Received: from localhost (krygier@localhost) by krygierpc.kph.uni-mainz.de (8.8.5/8.8.5) with ESMTP id CAA14146 for ; Tue, 15 Apr 1997 02:50:14 +0200 (CEST) X-Authentication-Warning: krygierpc.kph.uni-mainz.de: krygier owned process doing -bs Date: Tue, 15 Apr 1997 02:50:14 +0200 (CEST) From: Klaus Werner Krygier To: questions@freebsd.org Subject: special memory device Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Transfer-Encoding: 8BIT Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Perhaps some one of you can give me some hints to solve following problem with FreeBSD: I am using an ISA-VMEbus interface which allows access to VMEbus hardware by a FreeBSD-PC. For the PC it is a conventional ISA card which occupies 64 KB at the physical address 0xd0000. It is very easy to access this memory location and by this parts of the VMEbus using /dev/mem and mmap(). Everything works fine. But now the problem: For our applications a memory window of 64 KB is to small. We need access to several megabytes. The interface allows to move this window to any location in the VMEbus address space. But for that purpose special programming is needed which is not acceptable in our case because we want to use exisiting software which can't be rewritten. This software uses the interface of SunOS/Solaris where a special memory device (e.g. /dev/vmed16a24) can be mmaped and allows in a very simple way memory mapped i/o on the complete VMEbus from any user applicaiton. Now I want to install a similar device which is compatible to the Sun solution. It will never be used by read/write i/o but only by mmaped i/o. It shall be able to do a dynamic remapping of the VMEbus window every time an address is accessed which is out of the current 64 KB window using the page fault mechanism. Is this possible? Unfortunately I found no solution of a similar problem in any existing device driver of FreeBSD. Are there any other examples? What's about documentation of kernel software? I will thank you for any hints to solve this problem. Klaus Werner Krygier +-----------------------------------------------------------------------+ | Dr. Klaus Werner Krygier | Email: krygier@kph.uni-mainz.de | | Institut für Kernphysik | | | Johannes Gutenberg-Universität | Tel: +49-6131-39-2960 | | J.J.Becher-Weg 45 | +49-6131-39-5192 | | D-55099 Mainz | Fax: +49-6131-39-2964 | +-----------------------------------------------------------------------+