Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!rice!sun-spots-request From: munnari!mimir.mlb.dmt.oz.au!pic@uunet.uu.net (Peter Corke) Newsgroups: comp.sys.sun Subject: problems with physio() Message-ID: <1111@brazos.Rice.edu> Date: 21 Aug 89 06:00:48 GMT Sender: root@rice.edu Organization: Sun-Spots Lines: 24 Keywords: SunOS Approved: Sun-Spots@rice.edu X-Sun-Spots-Digest: Volume 8, Issue 107, message 16 of 16 I am porting a device driver which worked under SunOS 3.x to Sun4.0.1, and am having some problems. The driver uses physio() (as per the Guide to Writing Device Drivers) to lock down the user's i/o buffer and map it into the kernel. Under SunOS 4.0.1 it seems that this mapping only exists within the context of the i/o issuing process ie/ if the interrupt occurs during execution of another process, the kernel mapping is not there and references to that i/o buffer cause a trap. I've checked all the obvious things, critical sections are OK, not using i/o buffer after iodone() etc. If you have any clues please mail me, Peter pic@mimir.oz.au, uunet!munnari!mimir.dmt!pic ------ Peter Corke, PHONE: +61 3 487-9259 CSIRO, Div. Manufacturing Technology, Preston, Victoria, 3072, AUSTRALIA -- Peter Corke, PHONE: +61 3 487-9259 CSIRO ACSNET: pic@mimir.dmt.oz Div. Manufacturing Technology INTERNET: pic@mimir.dmt.oz.au Preston, Victoria, 3072, AUSTRALIA UUCP:{uunet,ukc,mcvax}!munnari!mimir.dmt!pic