home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OpenStep 4.2J (Developer)
/
os42jdev.iso
/
NextDeveloper
/
Headers
/
architecture
/
m68k
/
intr.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-10
|
2KB
|
80 lines
/* @(#)intr.h 1.0 10/16/91 (c) 1991 NeXT Computer Inc. */
/*
* HISTORY
* 16-Oct-91 John Seamons (jks) at NeXT
* Split out from cpu.h.
*/
#ifndef _M68K_INTR_
#define _M68K_INTR_
/*
* Interrupt structure.
* BASE and BITS define the origin and length of the bit field in the
* interrupt status/mask register for the particular interrupt level.
* The first component of the interrupt device name indicates the bit
* position in the interrupt status and mask registers; the second is the
* interrupt level; the third is the bit index relative to the start of the
* bit field.
*/
#define I(l,i,b) (((b) << 8) | ((l) << 4) | (i))
#define I_INDEX(i) ((i) & 0xf)
#define I_IPL(i) (((i) >> 4) & 7)
#define I_BIT(i) ( 1 << (((i) >> 8) & 0x1f))
#define I_IPL7_BASE 0
#define I_IPL7_BITS 2
#define I_NMI I(7,0,31)
#define I_PARITY_ADBNMI I(7,1,30)
#define I_IPL6_BASE 2
#define I_IPL6_BITS 12
#define I_TIMER I(6,0,29)
#define I_ENETX_DMA I(6,1,28)
#define I_ENETR_DMA I(6,2,27)
#define I_SCSI_DMA I(6,3,26)
#define I_OPTICAL_DMA I(6,4,25) /* dma 313 chip */
#define I_PRINTER_DMA I(6,5,24)
#define I_SOUND_OUT_DMA I(6,6,23)
#define I_SOUND_IN_DMA I(6,7,22)
#define I_SCC_DMA I(6,8,21) /* dma 313 chip */
#define I_DSP_DMA I(6,9,20)
#define I_IPL5_BASE 14
#define I_IPL5_BITS 3
#define I_SCC I(5,0,17)
#define I_REMOTE I(5,1,16)
#define I_BUS I(5,2,15)
#define I_IPL4_BASE 17
#define I_IPL4_BITS 1
#define I_DSP I(4,0,14)
#define I_IPL3_BASE 18
#define I_IPL3_BITS 12
#define I_VIDEO ((dma_chip != 313)? I(3,0,13) : I(3,8,5))
#define I_C16_VIDEO I(3,0,13) /* Warp 9C */
#define I_OPTICAL I(3,0,13) /* dma 313 chip */
#define I_SCSI I(3,1,12)
#define I_PRINTER I(3,2,11)
#define I_ENETX I(3,3,10)
#define I_ENETR I(3,4,9)
#define I_SOUND_OVRUN I(3,5,8)
#define I_FLOPPY I(3,6,7)
#define I_SPARE_3 I(3,7,6)
#define I_VIDEO_IN I(3,8,5)
#define I_MONITOR I(3,9,4)
#define I_KYBD_MOUSE I(3,10,3)
#define I_RTC I(3,11,2)
#define I_IPL2_BASE 30
#define I_IPL2_BITS 1
#define I_SOFTINT1 I(2,0,1)
#define I_IPL1_BASE 31
#define I_IPL1_BITS 1
#define I_SOFTINT0 I(1,0,0)
#endif _M68K_INTR_