[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: slimp()
- To: misc_(_at_)_openbsd_(_dot_)_org
- Subject: Re: slimp()
- From: Jared Yanovich <phirerunner_(_at_)_comcast_(_dot_)_net>
- Date: Fri, 30 Apr 2004 22:21:53 -0500
On Sat, 1 May 2004 00:58:19 +0100
Peter Bristow <jesta_(_at_)_home_(_dot_)_uberwald_(_dot_)_co_(_dot_)_uk> wrote:
> Hi, I've been reading some code and seen the use of splimp(), not knowing
> quite what this did I ran to the man pages and found spl (9) though it
> does not appear on this page. Some searches on marc found that it was a
> priority just above splvm, but noone detailed quite what it did. I was
> hoping someone could clarify quite what it did.
Design and Implementation of 4.4BSD says splimp() can be used to
"[block] all network interface input handling." A quick grep through
the tree reveals quite a lot:
% grep -r splimp sys | grep def
sys/altq/altq_rmclass_debug.h:#define LOCK_TRACE() splimp()
sys/arch/alpha/include/intr.h:#define splimp() _splraise(ALPHA_PSL_IPL_IO)
sys/arch/amd64/include/intr.h:#define splimp() splraise(IPL_IMP)
sys/arch/arm/footbridge/footbridge_intr.h:#define splimp() _splraise(IPL_VM)
sys/arch/hp300/include/intr.h:#define splimp() _splraise(hp300_impipl)
sys/arch/hp300/include/intr.h:#define splvm() splimp()
sys/arch/hppa/include/intr.h:#define splimp() splvm()
sys/arch/i386/include/intr.h:#define splimp() splvm()
sys/arch/mac68k/include/intr.h:#define splimp() _splraise(mac68k_impipl)
sys/arch/mvme68k/include/intr.h:#define splimp() _splraise(PSL_S|PSL_IPL3)
sys/arch/mvme68k/include/intr.h:#define splvm() splimp()
sys/arch/mvme88k/include/intr.h:#define splimp() raiseipl(IPL_IMP)
sys/arch/powerpc/include/intr.h:#define splimp() splraise(imask[IPL_IMP])
sys/arch/sparc/include/psl.h:#define splimp splvm
sys/arch/sparc64/include/psl.h:#define splimp splvm
sys/arch/vax/include/param.h:#define splimp() _splraise(0x17) /* IPL17 */
sys/dev/pci/if_devar.h:#define TULIP_RAISESPL() splimp()
sys/dev/pci/if_lmcvar.h:#define LMC_RAISESPL() splimp()
% grep -r IPL_IMP sys | grep def
sys/arch/amd64/include/intr.h:#define splimp() splraise(IPL_IMP)
sys/arch/amd64/include/intr.h:#define splvm() splraise(IPL_IMP)
sys/arch/amd64/include/intrdefs.h:#define IPL_IMP IPL_VM
sys/arch/i386/include/intr.h:#define IPL_IMP IPL_VM /* XXX - should not be here. */
sys/arch/mvme88k/include/intr.h:#define IPL_IMP 3
sys/arch/mvme88k/include/intr.h:#define splimp() raiseipl(IPL_IMP)
sys/arch/powerpc/include/intr.h:#define IPL_IMP 4
sys/arch/powerpc/include/intr.h:#define splimp() splraise(imask[IPL_IMP])
sys/arch/powerpc/include/intr.h:#define splvm() splraise(imask[IPL_IMP])
sys/arch/vax/include/intr.h:#define IPL_IMP 3 /* memory allocation */
sys/dev/pci/pccbb.c:#ifdef IPL_IMP
Visit your host, monkey.org