acton@mprvaxa.UUCP (Don Acton) (03/27/86)
I am trying to write a device driver for SCO's Xenix SYSTEM V release 2 version 2.0.6 running on an IBM PC/AT and am having a few difficulties. The device is being treated like a tape drive in that it has both block and raw access modes. One problem area concerns the notion of a paddr_t and and a kernel logical address. I can't find anything in the manuals that explain just what these "things" are and how they are related to either the "near" or "far" pointers in normal program use. What sort of gymnastics must one do with these objects before they are usable? My second problem concerns physio. When I call physio, as specified in the manual, it returns with a u.u_error code of 14 (bad address) and never calls my strategy routine. (The call to read or write in the user program is correct as things are fine if I have the program open a file/device other than the one I am writing the driver for.) If anyone has any insight into these problems their help would be greatly appreciated. Donald Acton please respond by email {utzoo, seismo, uw-beaver}!ubc-vision!mprvaxa!acton or acton@mprvaxa.uucp