intr.h revision 1.17
11.17Spooka/* $NetBSD: intr.h,v 1.17 2010/08/30 18:29:52 pooka Exp $ */ 21.1Spooka 31.1Spooka/* 41.1Spooka * Copyright (c) 2007 Antti Kantee. All Rights Reserved. 51.1Spooka * 61.1Spooka * Development of this software was supported by Google Summer of Code. 71.1Spooka * 81.1Spooka * Redistribution and use in source and binary forms, with or without 91.1Spooka * modification, are permitted provided that the following conditions 101.1Spooka * are met: 111.1Spooka * 1. Redistributions of source code must retain the above copyright 121.1Spooka * notice, this list of conditions and the following disclaimer. 131.1Spooka * 2. Redistributions in binary form must reproduce the above copyright 141.1Spooka * notice, this list of conditions and the following disclaimer in the 151.1Spooka * documentation and/or other materials provided with the distribution. 161.1Spooka * 171.1Spooka * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 181.1Spooka * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 191.1Spooka * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 201.1Spooka * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 211.1Spooka * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 221.1Spooka * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 231.1Spooka * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 241.1Spooka * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 251.1Spooka * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 261.1Spooka * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 271.1Spooka * SUCH DAMAGE. 281.1Spooka */ 291.1Spooka 301.1Spooka#ifndef _SYS_RUMP_INTR_H_ 311.1Spooka#define _SYS_RUMP_INTR_H_ 321.1Spooka 331.14Spooka#ifndef _LOCORE 341.14Spooka 351.5Sadtypedef uint8_t ipl_t; 361.5Sadtypedef struct { 371.5Sad ipl_t _ipl; 381.5Sad} ipl_cookie_t; 391.5Sad 401.17Spookastatic inline ipl_cookie_t 411.17Spookamakeiplcookie(ipl_t ipl) 421.15She{ 431.15She ipl_cookie_t c; 441.15She c._ipl = ipl; 451.15She return c; 461.15She} 471.15She 481.14Spooka#endif /* !_LOCORE */ 491.14Spooka 501.16Spooka#define spllower(x) ((void)x) 511.1Spooka#define splraise(x) 0 521.16Spooka#define splsoftnet() 0 531.16Spooka#define splsoftclock() 0 541.16Spooka#define splhigh() 0 551.16Spooka#define splsched() 0 561.16Spooka#define splvm() 0 571.16Spooka#define splx(x) ((void)x) 581.9Spooka#define spl0() ((void)0) 591.1Spooka 601.1Spooka#define IPL_NONE 0 611.17Spooka#define IPL_SOFTBIO 1 621.17Spooka#define IPL_SOFTCLOCK 1 631.17Spooka#define IPL_SOFTSERIAL 1 641.17Spooka#define IPL_SOFTNET 1 651.17Spooka#define IPL_SCHED 2 661.17Spooka#define IPL_VM 2 671.17Spooka#define IPL_HIGH 2 681.1Spooka 691.1Spooka#endif /* _SYS_RUMP_INTR_H_ */ 70