problems with physio()

Peter Corke munnari!mimir.mlb.dmt.oz.au!pic at uunet.uu.net
Mon Aug 21 16:00:48 AEST 1989


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 at 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 at mimir.dmt.oz
Div. Manufacturing Technology      INTERNET: pic at mimir.dmt.oz.au
Preston, Victoria, 3072, AUSTRALIA UUCP:{uunet,ukc,mcvax}!munnari!mimir.dmt!pic



More information about the Comp.sys.sun mailing list