[comp.unix.ultrix] spl4

tamura@versatc.versatec.COM (Mark Tamura) (07/06/90)

question: what is equivalent routine for spl4() on the ULTRIX-32 (RISC) V3.0
systems?  using spl4() seems to give me an unresolved reference.  is splbio()
an appropriate substitution?  thanks.

Mark Tamura
--
Versatec, A Xerox Company     ARPA: Mark_S_Tamura.SCB1Versatec@Xerox.COM
2710 Walsh Avenue, MS 1-7     UUCP: {ames,pyramid,sun}!versatc!tamura
P.O. Box 58091                AT&T: (408)988-2800 x5202
Santa Clara, CA 95052-8091

grr@cbmvax.commodore.com (George Robbins) (07/06/90)

In article <20850@versatc.versatec.COM> tamura@versatc.versatec.COM (Mark Tamura) writes:
> question: what is equivalent routine for spl4() on the ULTRIX-32 (RISC) V3.0
> systems?  using spl4() seems to give me an unresolved reference.  is splbio()
> an appropriate substitution?  thanks.

I think all the splx() references are normally expanded by "inline", which
means that there are not neccessarily any real splx() subroutines to link
to.  Try improving your compilation procedure to invoke inline and see if
your problems go away - use the kernel makefile for reference.

-- 
George Robbins - now working for,     uucp:   {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing:   domain: grr@cbmvax.commodore.com
Commodore, Engineering Department     phone:  215-431-9349 (only by moonlite)

grr@cbmvax.commodore.com (George Robbins) (07/07/90)

In article <13068@cbmvax.commodore.com> grr@cbmvax (George Robbins) writes:
> In article <20850@versatc.versatec.COM> tamura@versatc.versatec.COM (Mark Tamura) writes:
> > question: what is equivalent routine for spl4() on the ULTRIX-32 (RISC) V3.0
> > systems?  using spl4() seems to give me an unresolved reference.  is splbio()
> > an appropriate substitution?  thanks.
> 
> I think all the splx() references are normally expanded by "inline", which
> means that there are not neccessarily any real splx() subroutines to link
> to.  Try improving your compilation procedure to invoke inline and see if
> your problems go away - use the kernel makefile for reference.

Actually, the above is true for the VAX, but in the RISC version, they seem
to have disposed of inline and rely on compiler optimizations.  In this case I
don't know the exact answer to your question..

On the vax spl4() is between splnet() and spltty/splbio() in priority.
Interrupt levels on MIPS systems aren't quite what they are on the VAX,
see /sys/MIPS/machine/cpu.h for a little bit about the structure, and
/sys/MIPS/machine/locore.s for the implementations.

I'd guess splbio() would be a reasonable substitution for "block anything
but urgent terminal interrupts" and spltty() for block those also.  I think
it might also depend on the interrupt priority associated with your device.

-- 
George Robbins - now working for,     uucp:   {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing:   domain: grr@cbmvax.commodore.com
Commodore, Engineering Department     phone:  215-431-9349 (only by moonlite)