Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!pyramid!pesnta!amd!amdcad!lll-crg!seismo!rochester!dibble From: dibble@rochester.UUCP Newsgroups: net.micro.6809 Subject: Re: System calls Message-ID: <17844@rochester.ARPA> Date: Sun, 4-May-86 21:32:44 EDT Article-I.D.: rocheste.17844 Posted: Sun May 4 21:32:44 1986 Date-Received: Wed, 7-May-86 01:41:48 EDT References: <103@vaxb.calgary.UUCP> Organization: U of Rochester, CS Dept., Rochester, NY Lines: 31 Keywords: Device Drivers Summary: Sys calls from int' code In article <103@vaxb.calgary.UUCP>, ingoldsby@calgary.UUCP (Terry Ingoldsby) writes: > were legal within device drivers. Now I'll ask the question I meant to > ask: Are OS9 system calls allowed within the interrupt service routine > of device drivers, ie. the routine which executes when a device causes > an interrupt. The reason that I ask this question is because it would > be convenient to debug device drivers by putting output statements in the > interrupt driven routines. Attempts to do this have not been successful. > > One additional question to all you OS9 system gurus out there. > Are device drivers and there associated interrupt service routines subject > to time slicing, as are normal processes? System calls are legal in interrupt routines. Since you only intend to use system calls for debugging you don't need to worry about efficiency. As an example of how OK it is to use system calls in the interrupt service routine: The interrupt service routine posts the sleeping read or write with an F$Send SVC. If you do I/O you will find that system state processes use system path numbers. You might want to check your system path table for good numbers. My memory is that interrupts are dissabled during interrupt service routines. While interrupts are disabled clock ticks are not processed so there is no time slicing. I have used error codes to return information from device drivers. It takes patience, but it works. Peter Dibble