Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!wuarchive!psuvax1!rutgers!mcdchg!mcdclv!stevea From: stevea@mcdclv.UUCP (Steve Alexander) Newsgroups: comp.sys.m68k Subject: Re: How to access local I/O devices from a user process in SysV/68? Message-ID: <637@mcdclv.UUCP> Date: 4 Dec 90 16:08:19 GMT References: <1990Dec3.040634.1428@cs.UAlberta.CA> Reply-To: stevea@mcdclv.UUCP (Steve Alexander) Organization: Motorola MCD, Cleveland Lines: 21 In article <1990Dec3.040634.1428@cs.UAlberta.CA> rasit@cs.UAlberta.CA (M. Rasit Eskicioglu) writes: >Dear netters, > >I want to write code that would access to Local I/O Devices directly. For >example, I want to read LANCE registers. As they are not mapped into the >user's space in SysV/68V3R6, I always get memory protection error (signal 11). Look at shmget(2), shmctl(2), and shmop(2) in the Programmers Reference manual (note the IPC_PHYS parameter). Physical shared memory MUST be allocated on 4KB memory page boundaries under sysV/68. Also see the chapter on Interprocess Communication Techniques (IPC) in the Programmers Guide manual for examples. Stevea -- Steve Alexander | a twelve ton cast iron soda cracker, Motorola Cleveland | the stress on an aluminum plastic injection mold, | silly snowflakes dancing wildly for no one, | scotch tape, sticky on NO sides. [sja]