Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!think!husc6!cca!mirror!datacube!ftw From: ftw@datacube.UUCP Newsgroups: comp.unix.wizards Subject: Motorola Sys V help Message-ID: <106600031@datacube> Date: 11 Feb 88 16:38:00 GMT Lines: 50 Nf-ID: #N:datacube:106600031:000:2475 Nf-From: datacube.UUCP!ftw Feb 11 11:38:00 1988 Attention: Motorola System V R3V3 gurus (please?) Background: I've ported character driver from the Sun 3 environment to the Sys V environment on a Motorola 2616. She seems to work, but there are a few remaining nits I'd like clarification on: I need to buy LOTS of VME address space, and map it into a user-addressable chunk of virtual memory. Of course, I don't want the address space either cached or paged. Right now, I do this with appropriate calls to Sys V's shared memory functions, and I use the Motorola extensions that allow one to buy physical addresses. This is of course done from user space, and doesn't involve my driver. The scheme has some deficiencies, though. One must be root to map physical addresses, and worse, the shared memory descriptors are not released when the user program exits (or dies). I have a description of a function called sptalloc(), but the constants used in one of the arguments (PG_P and PG_LOCK) don't exist in any of my headers. Could someone tell me more about sptalloc()? As a side note, I have heard from a Motorola FAE that shared memory under R3V3 is broken in some significant fashion. He was not able to tell me exactly how; only that it is broken. Funny part is that it seems to work well for me. Can anyone confirm or deny shared memory bugs in this version? Interrupt handlers and the infamous sysgen(1M) utility. Does *any* description of a sysgen "script" exist? It must have taken me about two or three days to figure out that in order to get a minor device number passed as an argument to an interrupt handler, I need to say "This is a character device." instead of "This is an interrupt device." in the driver attributes field. Along those lines, I read that the actual argument to an interrupt handler is the minor number, possibly up-shifted and or-ed with some low bits of the interrupt vector, depending on how many vectors fan in to one handler. This just doesn't seem to be true on my system however. It is also interesting to note that if I tell sysgen that such-and-such is a character device, and I don't specify what the minor number is, the kernel that is generated will hang after displaying the System V banner. Farrell T. Woods Datacube Inc. Systems / Software Group 4 Dearborn Rd. Peabody, Ma 01960 VOICE: 617-535-6644; FAX: (617) 535-5643; TWX: (710) 347-0125 INTERNET: ftw@datacube.COM UUCP: {rutgers, ihnp4, mirror}!datacube!ftw "OS/2 -- Half an operating system"