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