Path: utzoo!utgpu!water!watmath!clyde!bellcore!decvax!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!unido!rmi!kkaempf From: kkaempf@rmi.UUCP (Klaus Kaempf) Newsgroups: comp.sys.amiga Subject: Re: Problem with Cause() Keywords: .tech (split? vote NO!) Message-ID: <874@rmi.UUCP> Date: 13 Feb 88 14:24:00 GMT Reply-To: kkaempf@rmi.de (Klaus Kaempf) Organization: RMI Net, Aachen, W.Germany Lines: 23 Posted: Sat Feb 13 15:24:00 1988 In article <8801271950.AA24675@cory.Berkeley.EDU> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > Try setting the interrupt.is_Node.ln_Type to something > other than NT_SOFTINT. (I haven't tried this myself, but > the ROM code for Cause() seems to ignore interrupt nodes > set to NT_SOFTINT. It's not really ignored. "Cause()" does the following: 1. Change node type from NT_INTERRUPT to NT_SOFTINT. 2. Link the interrupt structure according to priority into the appropriate exec-softint-list. 3. Request a software interrupt. The software interrupt handler then processes all the five softint lists and restores the node type to NT_INTERRUPT after removing the node from the list. So this node type is used to avoid double queueing of a single software interrupt structure. !ralph Ralph Babel, Falkenweg 3, D-6204 Taunusstein, FRGermany