*BSD News Article 80232


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!spool.mu.edu!usenet.eel.ufl.edu!news.ultranet.com!usenet
From: moncrg@ultranet.com (Gregory D. Moncreaff)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: need help accessing device i/o memory from device driver
Date: Wed, 09 Oct 1996 01:58:40 GMT
Organization: UltraNet Communications, Inc.
Lines: 18
Message-ID: <325b02fd.1625642@news.ma.ultranet.com>
NNTP-Posting-Host: dominus.ultranet.com
X-Newsreader: Forte Agent .99e/32.227

I'm working on a device driver for a serial board under Freebsd.  I
did a hack and slash on a similar driver that used the same serial
chips as the board I'm working with.  The only difference is that the
new board has a dual-port ram and the old board/driver didn't.  

What I don't understand is how you "wire" pages of, virtual I guess,
memory to a physical location.  I can see in some other device drivers
calls to kvtope() which then calls pmap_kextract(), neither of which
are mentioned in design & implemetaion of bsd 4.4, and neither of
which seems to have an obvious effect, and seem to indicate the
reverse operation of what I think should be needed.

Are there any references as to how this needs to be done that I could
be looking at?  are there man pages for kernel functions for those
working inside the kernel?

Thanks,
gdm