xref: /csrg-svn/sys/i386/isa/icu.h (revision 45544)
141054Swilliam /*-
241054Swilliam  * Copyright (c) 1990 The Regents of the University of California.
341054Swilliam  * All rights reserved.
441054Swilliam  *
541054Swilliam  * This code is derived from software contributed to Berkeley by
641054Swilliam  * William Jolitz.
741054Swilliam  *
841054Swilliam  * %sccs.include.386.c%
941054Swilliam  *
10*45544Sbill  *	@(#)icu.h	5.3 (Berkeley) 11/08/90
1141054Swilliam  */
1241054Swilliam 
1341054Swilliam /*
1441054Swilliam  * AT/386 Interrupt Control constants
1541054Swilliam  * W. Jolitz 8/89
1641054Swilliam  */
1741054Swilliam 
1843593Sdonahn #ifndef	__ICU__
1943593Sdonahn #define	__ICU__
2043593Sdonahn 
2141054Swilliam #ifndef	LOCORE
2241054Swilliam extern	unsigned short	imen;	/* interrupt mask enable */
2341054Swilliam extern	unsigned short	cpl;	/* current priority level */
2441054Swilliam 
2543593Sdonahn extern	unsigned short ttymask; /* things that get masked with spltty() */
2643593Sdonahn extern	unsigned short biomask; /* things that get masked with splbio() */
27*45544Sbill extern	unsigned short netmask; /* things that get masked with splimp() */
2843593Sdonahn 
2941054Swilliam #define	INTREN(s)	imen &= ~(s)
3041054Swilliam #define	INTRDIS(s)	imen |= (s)
31*45544Sbill #define	INTRMASK(msk,s)	msk |= (s)
3241054Swilliam #endif
3341054Swilliam 
34*45544Sbill /* Interrupt enable bits -- in order of priority */
35*45544Sbill #define	IRQ0		0x0001		/* highest priority - timer */
36*45544Sbill #define	IRQ1		0x0002
37*45544Sbill #define	IRQ_SLAVE	0x0004
38*45544Sbill #define	IRQ8		0x0100
39*45544Sbill #define	IRQ9		0x0200
40*45544Sbill #define	IRQ2		IRQ9
41*45544Sbill #define	IRQ10		0x0400
42*45544Sbill #define	IRQ11		0x0800
43*45544Sbill #define	IRQ12		0x1000
44*45544Sbill #define	IRQ13		0x2000
45*45544Sbill #define	IRQ14		0x4000
46*45544Sbill #define	IRQ15		0x8000
47*45544Sbill #define	IRQ3		0x0008
48*45544Sbill #define	IRQ4		0x0010
49*45544Sbill #define	IRQ5		0x0020
50*45544Sbill #define	IRQ6		0x0040
51*45544Sbill #define	IRQ7		0x0080		/* lowest - parallel printer */
5241054Swilliam 
5343593Sdonahn #endif	__ICU__
54