Home | History | Annotate | Line # | Download | only in docs
      1  1.1  scw $NetBSD: Interrupts,v 1.1 2000/12/14 20:30:14 scw Exp $
      2  1.1  scw 
      3  1.1  scw NetBSD/mvme68k Interrupt Levels
      4  1.1  scw ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      5  1.1  scw 
      6  1.1  scw NetBSD/mvme68k interrupts are dependent on the type of device which
      7  1.1  scw generates them. This holds true regardless of what bus the device is
      8  1.1  scw situated on (eg. local, VMEbus or IndustryPack site).
      9  1.1  scw 
     10  1.1  scw On MVME147, there is a fixed 1:1 mapping of VMEbus interrupt level
     11  1.1  scw to CPU interrupt level. This implies that VMEbus devices must be
     12  1.1  scw set to interrupt at the correct level for that type of device.
     13  1.1  scw 
     14  1.1  scw On the other boards, each VMEbus interrupt level can be mapped to a
     15  1.1  scw specific CPU interrupt level so the above restriction does not apply.
     16  1.1  scw However, note that the mapping can only be done once. Therefore it is
     17  1.1  scw not possible to have two VMEbus devices which require different CPU
     18  1.1  scw interrupt levels sharing the same VMEbus interrupt level.
     19  1.1  scw 
     20  1.1  scw The mapping of device type to CPU interrupt levels is as follows:
     21  1.1  scw 
     22  1.1  scw 	CPU Irq		Device Type
     23  1.1  scw 	~~~~~~~		~~~~~~~~~~~
     24  1.1  scw 	<Highest>
     25  1.1  scw 	6 - 7		Anything which generates an exceptional condition
     26  1.1  scw 			which *must* be responded to immediately. For
     27  1.1  scw 			example, a memory parity/uncorrectable data error.
     28  1.1  scw 
     29  1.1  scw 	5		Reserved for the system clock/scheduler. Do not use.
     30  1.1  scw 
     31  1.1  scw 	4		Serial port devices (rs232, rs422 etc).
     32  1.1  scw 
     33  1.1  scw 	3		Network interfaces.
     34  1.1  scw 
     35  1.1  scw 	2		Disk/Block device interfaces.
     36  1.1  scw 
     37  1.1  scw 	1		Anything else.
     38  1.1  scw 	<Lowest>
     39  1.1  scw 
     40  1.1  scw 
     41  1.1  scw 
     42  1.1  scw Interrupt Vectors
     43  1.1  scw ~~~~~~~~~~~~~~~~~
     44  1.1  scw 
     45  1.1  scw NetBSD/mvme68k does not use or generate `auto-vectored' interrupts.
     46  1.1  scw 
     47  1.1  scw All vectored interrupts up to and including vector 0x7f are reserved
     48  1.1  scw for use by onboard devices.
     49  1.1  scw 
     50  1.1  scw VMEbus cards and IndustryPack modules are free to use vectors 0x80 -> 0xff.
     51  1.1  scw 
     52  1.1  scw The onboard devices' vectors are as follows:
     53  1.1  scw 
     54  1.1  scw MVME147:
     55  1.1  scw 	0x40		PCC: ACFAIL
     56  1.1  scw 	0x41		PCC: BERR
     57  1.1  scw 	0x42		PCC: ABORT Switch
     58  1.1  scw 	0x43		PCC: ZS Chips shared vector
     59  1.1  scw 	0x44		PCC: Lance Ethernet
     60  1.1  scw 	0x45		PCC: WD33C93 SCSI
     61  1.1  scw 	0x46		PCC: DMA
     62  1.1  scw 	0x47		PCC: Printer
     63  1.1  scw 	0x48		PCC: Timer1
     64  1.1  scw 	0x49		PCC: Timer2
     65  1.1  scw 	0x4a		PCC: Soft Interrupt 1
     66  1.1  scw 	0x4b		PCC: Soft Interrupt 2
     67  1.1  scw 	0x4c -> 0x4f	PCC: <unused>
     68  1.1  scw 
     69  1.1  scw 
     70  1.1  scw MVME167/177:
     71  1.1  scw 	0x50		PCC2: Printer `BUSY'
     72  1.1  scw 	0x51		PCC2: Printer `Paper Empty'
     73  1.1  scw 	0x52		PCC2: Printer `Select'
     74  1.1  scw 	0x53		PCC2: Printer `Fault'
     75  1.1  scw 	0x54		PCC2: Printer `ACK'
     76  1.1  scw 	0x55		PCC2: SCSI
     77  1.1  scw 	0x56		PCC2: Ethernet `Error'
     78  1.1  scw 	0x57		PCC2: Ethernet
     79  1.1  scw 	0x58		PCC2: Timer 2
     80  1.1  scw 	0x59		PCC2: Timer 1
     81  1.1  scw 	0x5a		PCC2: GPIO
     82  1.1  scw 	0x5b		PCC2: <unused>
     83  1.1  scw 	0x5c		PCC2: CD2401 Rx Exception
     84  1.1  scw 	0x5d		PCC2: CD2401 Modem
     85  1.1  scw 	0x5e		PCC2: CD2401 Tx
     86  1.1  scw 	0x5f		PCC2: CD2401 Rx
     87  1.1  scw 
     88  1.1  scw 	0x60 -> 0x67	VME2: <unused>
     89  1.1  scw 	0x68		VME2: Software Interrupt #0
     90  1.1  scw 	0x69		VME2: Software Interrupt #1
     91  1.1  scw 	0x6a		VME2: Software Interrupt #2
     92  1.1  scw 	0x6b		VME2: Software Interrupt #3
     93  1.1  scw 	0x6c		VME2: Software Interrupt #4
     94  1.1  scw 	0x6d		VME2: Software Interrupt #5
     95  1.1  scw 	0x6e		VME2: Software Interrupt #6
     96  1.1  scw 	0x6f		VME2: Software Interrupt #7
     97  1.1  scw 	0x70		VME2: GCSR Location Monitor #0
     98  1.1  scw 	0x71		VME2: GCSR Location Monitor #1
     99  1.1  scw 	0x72		VME2: GCSR SIG #0
    100  1.1  scw 	0x73		VME2: GCSR SIG #1
    101  1.1  scw 	0x74		VME2: GCSR SIG #2
    102  1.1  scw 	0x75		VME2: GCSR SIG #3
    103  1.1  scw 	0x76		VME2: DMA Controller
    104  1.1  scw 	0x77		VME2: VIA
    105  1.1  scw 	0x78		VME2: Tick Timer #1
    106  1.1  scw 	0x79		VME2: Tick Timer #2
    107  1.1  scw 	0x7a		VME2: `IRQ1' feature
    108  1.1  scw 	0x7b		VME2: Parity/ECC Error
    109  1.1  scw 	0x7c		VME2: Master Write Post Error
    110  1.1  scw 	0x7d		VME2: SYSFAIL
    111  1.1  scw 	0x7e		VME2: ABORT Switch
    112  1.1  scw 	0x7f		VME2: ACFAIL
    113  1.1  scw 
    114  1.1  scw 
    115  1.1  scw MVME162/172:
    116  1.1  scw 	0x40		IPACK: DMA_a
    117  1.1  scw 	0x41		IPACK: DMA_b
    118  1.1  scw 	0x42		IPACK: DMA_c
    119  1.1  scw 	0x43		IPACK: DMA_d
    120  1.1  scw 	0x44		IPACK: Programmable Clock
    121  1.1  scw 
    122  1.1  scw 	0x50 -> 0x52	MC2: <unused>
    123  1.1  scw 	0x53		MC2: Timer 4
    124  1.1  scw 	0x54		MC2: Timer 3
    125  1.1  scw 	0x55		MC2: SCSI
    126  1.1  scw 	0x56		MC2: Ethernet `Error'
    127  1.1  scw 	0x57		MC2: Ethernet
    128  1.1  scw 	0x58		MC2: Timer 2
    129  1.1  scw 	0x59		MC2: Timer 1
    130  1.1  scw 	0x5a		MC2: <unused>
    131  1.1  scw 	0x5b		MC2: Parity/ECC Error
    132  1.1  scw 	0x5c		MC2: ZS #1 (vector supplied by ZS chip)
    133  1.1  scw 	0x5d		MC2: ZS #2 (vector supplied by ZS chip)
    134  1.1  scw 	0x5e		MC2: Abort Switch
    135  1.1  scw 	0x5f		MC2: <unused>
    136  1.1  scw 
    137  1.1  scw 	0x60 -> 0x67	VME2: <unused>
    138  1.1  scw 	0x68		VME2: Software Interrupt #0
    139  1.1  scw 	0x69		VME2: Software Interrupt #1
    140  1.1  scw 	0x6a		VME2: Software Interrupt #2
    141  1.1  scw 	0x6b		VME2: Software Interrupt #3
    142  1.1  scw 	0x6c		VME2: Software Interrupt #4
    143  1.1  scw 	0x6d		VME2: Software Interrupt #5
    144  1.1  scw 	0x6e		VME2: Software Interrupt #6
    145  1.1  scw 	0x6f		VME2: Software Interrupt #7
    146  1.1  scw 	0x70		VME2: GCSR Location Monitor #0
    147  1.1  scw 	0x71		VME2: GCSR Location Monitor #1
    148  1.1  scw 	0x72		VME2: GCSR SIG #0
    149  1.1  scw 	0x73		VME2: GCSR SIG #1
    150  1.1  scw 	0x74		VME2: GCSR SIG #2
    151  1.1  scw 	0x75		VME2: GCSR SIG #3
    152  1.1  scw 	0x76		VME2: DMA Controller
    153  1.1  scw 	0x77		VME2: VIA
    154  1.1  scw 	0x78		VME2: Tick Timer #1
    155  1.1  scw 	0x79		VME2: Tick Timer #2
    156  1.1  scw 	0x7a		VME2: `IRQ1' feature
    157  1.1  scw 	0x7b		VME2: Parity/ECC Error
    158  1.1  scw 	0x7c		VME2: Master Write Post Error
    159  1.1  scw 	0x7d		VME2: SYSFAIL
    160  1.1  scw 	0x7e		VME2: <unused>
    161  1.1  scw 	0x7f		VME2: ACFAIL
    162