📄 irq.lst
字号:
159:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* RTC tick */ 160:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* RTC Match 0 */ 161:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* RTC Match 1 */ 162:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* RTC Match 2 */ 163:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* PCI Error Interrupt -- INTERNAL ONLY */ 164:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* NAND Controller */ 165:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* USB Device Request */ 166:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, /* USB Device Suspend */ 167:/mnt/hgfs/boot/booter/source/irq.c **** INT_LOW_LEVEL, /* USB Host or OTG timeout -- FIX ME!!!! Rising or FALLING */ 168:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* MAC0 Dma Done */ 169:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* MAC1 DMA Done*/ 170:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* Reserved */ 171:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* Reserved */ 172:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, /* Reserved */ 173:/mnt/hgfs/boot/booter/source/irq.c **** 174:/mnt/hgfs/boot/booter/source/irq.c **** #elif defined(AU1200) 175:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_UART0, 176:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_SWCNT, 177:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_SD,GAS LISTING /tmp/ccsUu95n.s page 6 178:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_DDMA, 179:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_MAE_BE, 180:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP200, 181:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP201, 182:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP202, 183:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_UART1, 184:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_MAE_FE, 185:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_PSC0, 186:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_PSC1, 187:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_AES, 188:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_CIM, 189:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_TOY_TICK, 190:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_TOY_M0, 191:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_TOY_M1, 192:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_TOY_M2, 193:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_RTC_TICK, 194:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_RTC_M0, 195:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_RTC_M1, 196:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_RTC_M2, 197:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP203, 198:/mnt/hgfs/boot/booter/source/irq.c **** INT_RISING_EDGE, // IRQ_NAND, 199:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP204, 200:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP205, 201:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP206, 202:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP207, 203:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, // IRQ_GP208_GP215, 204:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_USB, 205:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_LCD, 206:/mnt/hgfs/boot/booter/source/irq.c **** INT_HIGH_LEVEL, // IRQ_MAE_FE_BE, 207:/mnt/hgfs/boot/booter/source/irq.c **** 208:/mnt/hgfs/boot/booter/source/irq.c **** #else 209:/mnt/hgfs/boot/booter/source/irq.c **** #error "Unknown Au1x00 SOC" 210:/mnt/hgfs/boot/booter/source/irq.c **** #endif 211:/mnt/hgfs/boot/booter/source/irq.c **** 212:/mnt/hgfs/boot/booter/source/irq.c **** /* 213:/mnt/hgfs/boot/booter/source/irq.c **** * The GPIOs are board specific! 214:/mnt/hgfs/boot/booter/source/irq.c **** */ 215:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO0 */ 216:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO1 */ 217:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO2 */ 218:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO3 */ 219:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO4 */ 220:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO5 */ 221:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO6 */ 222:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO7 */ 223:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO8 */ 224:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO9 */ 225:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO10 */ 226:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO11 */ 227:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO12 */ 228:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO13 */ 229:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO14 */ 230:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO15 */ 231:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO16 -- GPIO200(AU1550) */ 232:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO17 -- logical or of GIO201:205(AU1550) */ 233:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO18 -- GPIO16(AU1550) */ 234:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO19 -- GPIO17(AU1550) */GAS LISTING /tmp/ccsUu95n.s page 7 235:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO20 */ 236:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO21 */ 237:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO22 */ 238:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO23 */ 239:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO24 */ 240:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO25 */ 241:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO26 */ 242:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO27 */ 243:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO28 */ 244:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO29 -- GPIO206(AU1550) */ 245:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO30 -- GPIO207(AU1550) */ 246:/mnt/hgfs/boot/booter/source/irq.c **** INT_UNDEFINED, /* GPIO31 -- logical or of GPIO208-214(AU1550) */ 247:/mnt/hgfs/boot/booter/source/irq.c **** }; 248:/mnt/hgfs/boot/booter/source/irq.c **** 249:/mnt/hgfs/boot/booter/source/irq.c **** /********************************************************************/ 250:/mnt/hgfs/boot/booter/source/irq.c **** int 251:/mnt/hgfs/boot/booter/source/irq.c **** cpuIrqEnable (int irq, int polarity, void (*handler)(int, void *), void *arg) 252:/mnt/hgfs/boot/booter/source/irq.c **** { 100 .loc 1 252 0 101 .frame $sp,40,$31 # vars= 0, regs= 5/0, args= 16, gp= 0 102 .mask 0x800f0000,-8 103 .fmask 0x00000000,0 104 .set noreorder 105 .set nomacro 106 107 0000 D8FFBD27 addiu $sp,$sp,-40 108 $LCFI0: 253:/mnt/hgfs/boot/booter/source/irq.c **** /* 254:/mnt/hgfs/boot/booter/source/irq.c **** * NOTE: Status[IE] explicitly left untouched, 255:/mnt/hgfs/boot/booter/source/irq.c **** * though Status[IM] is altered. 256:/mnt/hgfs/boot/booter/source/irq.c **** */ 257:/mnt/hgfs/boot/booter/source/irq.c **** int bit; 258:/mnt/hgfs/boot/booter/source/irq.c **** uint32 Status; 259:/mnt/hgfs/boot/booter/source/irq.c **** 260:/mnt/hgfs/boot/booter/source/irq.c **** if ((irq < 0) || (irq >= NUM_IRQS)) 109 .loc 1 260 0 110 0004 4800822C sltu $2,$4,72 111 .loc 1 252 0 112 0008 1400B1AF sw $17,20($sp) 113 $LCFI1: 114 000c 1000B0AF sw $16,16($sp) 115 $LCFI2: 116 0010 2000BFAF sw $31,32($sp) 117 $LCFI3: 118 0014 21808000 move $16,$4 119 0018 1C00B3AF sw $19,28($sp) 120 $LCFI4: 121 001c 1800B2AF sw $18,24($sp) 122 $LCFI5: 123 .loc 1 252 0 124 0020 2188A000 move $17,$5 261:/mnt/hgfs/boot/booter/source/irq.c **** return -1; 125 .loc 1 261 0 126 .loc 1 260 0 127 0024 34004010 beq $2,$0,$L1 128 0028 FFFF0424 li $4,-1 # 0xffffffffffffffff 129 GAS LISTING /tmp/ccsUu95n.s page 8 262:/mnt/hgfs/boot/booter/source/irq.c **** 263:/mnt/hgfs/boot/booter/source/irq.c **** if (handler == NULL) 264:/mnt/hgfs/boot/booter/source/irq.c **** return -2; 130 .loc 1 264 0 131 .loc 1 263 0 132 002c 3200C010 beq $6,$0,$L1 133 0030 FEFF0424 li $4,-2 # 0xfffffffffffffffe 134 265:/mnt/hgfs/boot/booter/source/irq.c **** 266:/mnt/hgfs/boot/booter/source/irq.c **** if (irqDispatch[irq] != NULL) 135 .loc 1 266 0 136 0034 0000023C lui $2,%hi(irqDispatch) 137 0038 80281000 sll $5,$16,2 138 003c 00004224 addiu $2,$2,%lo(irqDispatch) 139 0040 2140A200 addu $8,$5,$2 140 0044 0000038D lw $3,0($8) 267:/mnt/hgfs/boot/booter/source/irq.c **** return -3; 141 .loc 1 267 0 142 .loc 1 266 0 143 0048 2B006014 bne $3,$0,$L1 144 004c FDFF0424 li $4,-3 # 0xfffffffffffffffd 145 268:/mnt/hgfs/boot/booter/source/irq.c **** 269:/mnt/hgfs/boot/booter/source/irq.c **** /* 270:/mnt/hgfs/boot/booter/source/irq.c **** * Install handler 271:/mnt/hgfs/boot/booter/source/irq.c **** */ 272:/mnt/hgfs/boot/booter/source/irq.c **** irqDispatch[irq] = handler; 273:/mnt/hgfs/boot/booter/source/irq.c **** irqArgument[irq] = arg; 146 .loc 1 273 0 147 0050 0000023C lui $2,%hi(irqArgument) 148 0054 20014224 addiu $2,$2,%lo(irqArgument) 149 0058 2110A200 addu $2,$5,$2 150 .loc 1 272 0 151 005c 000006AD sw $6,0($8) 152 .loc 1 273 0 274:/mnt/hgfs/boot/booter/source/irq.c **** 275:/mnt/hgfs/boot/booter/source/irq.c **** /* 276:/mnt/hgfs/boot/booter/source/irq.c **** * Status[IM]/Cause[IP] 277:/mnt/hgfs/boot/booter/source/irq.c **** */ 278:/mnt/hgfs/boot/booter/source/irq.c **** if (irq == IRQ_SWI0) 153 .loc 1 278 0 154 0060 2D000012 beq $16,$0,$L38 155 0064 000047AC sw $7,0($2) 156 279:/mnt/hgfs/boot/booter/source/irq.c **** { 280:/mnt/hgfs/boot/booter/source/irq.c **** /* NOTE: Causes an interrupt iediately */ 281:/mnt/hgfs/boot/booter/source/irq.c **** Status = cp0RdStatus(); 282:/mnt/hgfs/boot/booter/source/irq.c **** Status |= STATUS_SWI0; 283:/mnt/hgfs/boot/booter/source/irq.c **** cp0WrStatus(Status); 284:/mnt/hgfs/boot/booter/source/irq.c **** } 285:/mnt/hgfs/boot/booter/source/irq.c **** else 286:/mnt/hgfs/boot/booter/source/irq.c **** 287:/mnt/hgfs/boot/booter/source/irq.c **** if (irq == IRQ_SWI1) 157 .loc 1 287 0 158 0068 01001324 li $19,1 # 0x1 288:/mnt/hgfs/boot/booter/source/irq.c **** { 289:/mnt/hgfs/boot/booter/source/irq.c **** /* NOTE: Causes an interrupt iediately */GAS LISTING /tmp/ccsUu95n.s page 9 290:/mnt/hgfs/boot/booter/source/irq.c **** Status = cp0RdStatus(); 291:/mnt/hgfs/boot/booter/source/irq.c **** Status |= STATUS_SWI1; 292:/mnt/hgfs/boot/booter/source/irq.c **** cp0WrStatus(Status); 293:/mnt/hgfs/boot/booter/source/irq.c **** } 294:/mnt/hgfs/boot/booter/source/irq.c **** else 295:/mnt/hgfs/boot/booter/source/irq.c **** 296:/mnt/hgfs/boot/booter/source/irq.c **** if (irq == IRQ_PERFCNT) 159 .loc 1 296 0 160 .loc 1 287 0 161 006c 51001312 beq $16,$19,$L39 162 0070 06000224 li $2,6 # 0x6 163 297:/mnt/hgfs/boot/booter/source/irq.c **** { 298:/mnt/hgfs/boot/booter/source/irq.c **** Status = cp0RdStatus(); 299:/mnt/hgfs/boot/booter/source/irq.c **** Status |= STATUS_PERFCNT; 300:/mnt/hgfs/boot/booter/source/irq.c **** cp0WrStatus(Status); 301:/mnt/hgfs/boot/booter/source/irq.c **** } 302:/mnt/hgfs/boot/booter/source/irq.c **** else 303:/mnt/hgfs/boot/booter/source/irq.c **** 304:/mnt/hgfs/boot/booter/source/irq.c **** if (irq == IRQ_COUNTER) 164 .loc 1 304 0 165 .loc 1 296 0 166 0074 49000212 beq $16,$2,$L40 167 0078 07000224 li $2,7 # 0x7 168 305:/mnt/hgfs/boot/booter/source/irq.c **** { 306:/mnt/hgfs/boot/booter/source/irq.c **** Status = cp0RdStatus(); 307:/mnt/hgfs/boot/booter/source/irq.c **** Status |= STATUS_COUNTER; 308:/mnt/hgfs/boot/booter/source/irq.c **** cp0WrStatus(Status); 309:/mnt/hgfs/boot/booter/source/irq.c **** } 310:/mnt/hgfs/boot/booter/source/irq.c **** else 311:/mnt/hgfs/boot/booter/source/irq.c **** 312:/mnt/hgfs/boot/booter/source/irq.c **** /* 313:/mnt/hgfs/boot/booter/source/irq.c **** * IC0 314:/mnt/hgfs/boot/booter/source/irq.c **** */ 315:/mnt/hgfs/boot/booter/source/irq.c **** if ((irq >= IRQ_IC0_START) && (irq <= IRQ_IC0_END)) 169 .loc 1 315 0 170 .loc 1 304 0 171 007c 53000212 beq $16,$2,$L41 172 0080 F8FF0326 addiu $3,$16,-8 173 174 .loc 1 315 0 175 0084 2000622C sltu $2,$3,32 316:/mnt/hgfs/boot/booter/source/irq.c **** { 317:/mnt/hgfs/boot/booter/source/irq.c **** bit = (1 << (irq - IRQ_IC0_START)); 318:/mnt/hgfs/boot/booter/source/irq.c **** 319:/mnt/hgfs/boot/booter/source/irq.c **** Status = cp0RdStatus(); 320:/mnt/hgfs/boot/booter/source/irq.c **** Status |= (STATUS_IC0R0 | STATUS_IC0R1); 321:/mnt/hgfs/boot/booter/source/irq.c **** cp0WrStatus(Status); 322:/mnt/hgfs/boot/booter/source/irq.c **** 323:/mnt/hgfs/boot/booter/source/irq.c **** polarity = irqPolarity[irq]; 324:/mnt/hgfs/boot/booter/source/irq.c **** if (polarity == INT_HIGH_LEVEL) 325:/mnt/hgfs/boot/booter/source/irq.c **** { 326:/mnt/hgfs/boot/booter/source/irq.c **** HIGH_LEVEL(0,bit); 327:/mnt/hgfs/boot/booter/source/irq.c **** } 328:/mnt/hgfs/boot/booter/source/irq.c **** else if (polarity == INT_LOW_LEVEL) 329:/mnt/hgfs/boot/booter/source/irq.c **** {GAS LISTING /tmp/ccsUu95n.s page 10 330:/mnt/hgfs/boot/booter/source/irq.c **** LOW_LEVEL(0,bit); 331:/mnt/hgfs/boot/booter/source/irq.c **** } 332:/mnt/hgfs/boot/booter/source/irq.c **** else if (polarity == INT_RISING_EDGE) 333:/mnt/hgfs/boot/booter/source/irq.c **** { 334:/mnt/hgfs/boot/booter/source/irq.c **** RISING_EDGE(0,bit); 335:/mnt/hgfs/boot/booter/source/irq.c **** } 336:/mnt/hgfs/boot/booter/source/irq.c **** else if (polarity == INT_FALLING_EDGE) 337:/mnt/hgfs/boot/booter/source/irq.c **** { 338:/mnt/hgfs/boot/booter/source/irq.c **** FALLING_EDGE(0,bit); 339:/mnt/hgfs/boot/booter/source/irq.c **** } 340:/mnt/hgfs/boot/booter/source/irq.c **** else 341:/mnt/hgfs/boot/booter/source/irq.c **** printf("Unknown IRQ polarity for IRQ %d\n", irq); 342:/mnt/hgfs/boot/booter/source/irq.c **** 343:/mnt/hgfs/boot/booter/source/irq.c **** /* mask: un-mask irq */ 344:/mnt/hgfs/boot/booter/source/irq.c **** ic0->maskset = bit; 345:/mnt/hgfs/boot/booter/source/irq.c **** 346:/mnt/hgfs/boot/booter/source/irq.c **** /* wakeup: allow irq to wakeup */ 347:/mnt/hgfs/boot/booter/source/irq.c **** ic0->wakeset = bit; 348:/mnt/hgfs/boot/booter/source/irq.c **** }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -