⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irq.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 383              	 384              	$L46: 385              	$LBE11: 386              	$LBB12: 387              		.loc 1 372 0 388 01f8 500052AC 		sw	$18,80($2) 389              		.loc 1 380 0 390 01fc 4C0052AC 		sw	$18,76($2) 391 0200 400052AC 		sw	$18,64($2) 392              		.loc 1 390 0 393 0204 63000008 		j	$L51 394 0208 80B1023C 		li	$2,-1317011456			# 0xffffffffb1800000 395              	 396              	$L45: 397              	$LBE12: 398              	$LBB13: 399              		.loc 1 338 0 400 020c 40B0023C 		li	$2,-1337982976			# 0xffffffffb0400000 401 0210 540052AC 		sw	$18,84($2) 402 0214 480052AC 		sw	$18,72($2) 403 0218 440052AC 		sw	$18,68($2) 404              		.loc 1 344 0 405 021c 3B000008 		j	$L35 406 0220 40B0023C 		li	$2,-1337982976			# 0xffffffffb0400000 407              	 408              	$L49: 409              	$LBE13: 410              	$LBB14: 411              		.loc 1 384 0 412 0224 540052AC 		sw	$18,84($2) 413 0228 480052AC 		sw	$18,72($2) 414 022c 440052AC 		sw	$18,68($2) 415              		.loc 1 390 0 416 0230 63000008 		j	$L51 417 0234 80B1023C 		li	$2,-1317011456			# 0xffffffffb1800000 418              	 419              	$L43: 420              	$LBE14: 421              	$LBB15: 422              		.loc 1 330 0 423 0238 500052AC 		sw	$18,80($2) 424              		.loc 1 338 0 425 023c 480052AC 		sw	$18,72($2) 426 0240 440052AC 		sw	$18,68($2) 427 0244 3B000008 		j	$L35 428 0248 40B0023C 		li	$2,-1337982976			# 0xffffffffb0400000 429              	 430              	$L47: 431              	$LBE15: 432              	$LBB16: 433              		.loc 1 376 0 434 024c 500052AC 		sw	$18,80($2) 435              		.loc 1 384 0 436 0250 480052AC 		sw	$18,72($2) 437 0254 440052AC 		sw	$18,68($2) 438 0258 63000008 		j	$L51 439 025c 80B1023C 		li	$2,-1317011456			# 0xffffffffb1800000GAS LISTING /tmp/ccsUu95n.s 			page 16 440              	 441              	$L44: 442              	$LBE16: 443              	$LBB17: 444              		.loc 1 334 0 445 0260 540052AC 		sw	$18,84($2) 446 0264 4C0052AC 		sw	$18,76($2) 447 0268 400052AC 		sw	$18,64($2) 448 026c 3B000008 		j	$L35 449 0270 40B0023C 		li	$2,-1337982976			# 0xffffffffb0400000 450              	 451              	$L48: 452              	$LBE17: 453              	$LBB18: 454              		.loc 1 380 0 455 0274 540052AC 		sw	$18,84($2) 456 0278 4C0052AC 		sw	$18,76($2) 457 027c 400052AC 		sw	$18,64($2) 458 0280 63000008 		j	$L51 459 0284 80B1023C 		li	$2,-1317011456			# 0xffffffffb1800000 460              	 461              	$LBE18: 462              		.set	macro 463              		.set	reorder 464              	$LFE2: 465              		.end	cpuIrqEnable 466              		.align	2 467              		.globl	cpuIrqDisable 468              		.ent	cpuIrqDisable 469              		.type	cpuIrqDisable, @function 470              	cpuIrqDisable: 471              	$LFB3: 408:/mnt/hgfs/boot/booter/source/irq.c ****  409:/mnt/hgfs/boot/booter/source/irq.c **** /********************************************************************/ 410:/mnt/hgfs/boot/booter/source/irq.c **** void 411:/mnt/hgfs/boot/booter/source/irq.c **** cpuIrqDisable (int irq) 412:/mnt/hgfs/boot/booter/source/irq.c **** { 472              		.loc 1 412 0 473              		.frame	$sp,24,$31		# vars= 0, regs= 2/0, args= 16, gp= 0 474              		.mask	0x80010000,-4 475              		.fmask	0x00000000,0 476              		.set	noreorder 477              		.set	nomacro 478              		 479 0288 E8FFBD27 		addiu	$sp,$sp,-24 480              	$LCFI6: 413:/mnt/hgfs/boot/booter/source/irq.c **** 	int bit; 414:/mnt/hgfs/boot/booter/source/irq.c **** 	uint32 Status; 415:/mnt/hgfs/boot/booter/source/irq.c ****  416:/mnt/hgfs/boot/booter/source/irq.c **** 	if ((irq < 0) || (irq >= NUM_IRQS)) 481              		.loc 1 416 0 482 028c 4800822C 		sltu	$2,$4,72 483              		.loc 1 412 0 484 0290 1000B0AF 		sw	$16,16($sp) 485              	$LCFI7: 486 0294 1400BFAF 		sw	$31,20($sp) 487              	$LCFI8:GAS LISTING /tmp/ccsUu95n.s 			page 17 488              		.loc 1 412 0 489              		.loc 1 416 0 490 0298 1B004010 		beq	$2,$0,$L56 491 029c 21808000 		move	$16,$4 492              	 417:/mnt/hgfs/boot/booter/source/irq.c **** 		return; 418:/mnt/hgfs/boot/booter/source/irq.c ****  419:/mnt/hgfs/boot/booter/source/irq.c **** 	/* 420:/mnt/hgfs/boot/booter/source/irq.c **** 	 * Status[IM]/Cause[IP] 421:/mnt/hgfs/boot/booter/source/irq.c **** 	 */ 422:/mnt/hgfs/boot/booter/source/irq.c **** 	if (irq == IRQ_SWI0) 493              		.loc 1 422 0 494 02a0 1D008010 		beq	$4,$0,$L70 495 02a4 00000000 		nop 496              	 423:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 424:/mnt/hgfs/boot/booter/source/irq.c **** 		Status = cp0RdStatus(); 425:/mnt/hgfs/boot/booter/source/irq.c **** 		Status &= ~STATUS_SWI0; 426:/mnt/hgfs/boot/booter/source/irq.c **** 		cp0WrStatus(Status); 427:/mnt/hgfs/boot/booter/source/irq.c **** 	} 428:/mnt/hgfs/boot/booter/source/irq.c **** 	else 429:/mnt/hgfs/boot/booter/source/irq.c ****  430:/mnt/hgfs/boot/booter/source/irq.c **** 	if (irq == IRQ_SWI1) 497              		.loc 1 430 0 498 02a8 01000424 		li	$4,1			# 0x1 499 02ac 2E000412 		beq	$16,$4,$L71 500 02b0 00000000 		nop 501              	 431:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 432:/mnt/hgfs/boot/booter/source/irq.c **** 		Status = cp0RdStatus(); 433:/mnt/hgfs/boot/booter/source/irq.c **** 		Status &= ~STATUS_SWI1; 434:/mnt/hgfs/boot/booter/source/irq.c **** 		cp0WrStatus(Status); 435:/mnt/hgfs/boot/booter/source/irq.c **** 	} 436:/mnt/hgfs/boot/booter/source/irq.c **** 	else 437:/mnt/hgfs/boot/booter/source/irq.c ****  438:/mnt/hgfs/boot/booter/source/irq.c **** 	if (irq == IRQ_PERFCNT) 502              		.loc 1 438 0 503 02b4 06000224 		li	$2,6			# 0x6 504 02b8 32000212 		beq	$16,$2,$L72 505 02bc 00000000 		nop 506              	 439:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 440:/mnt/hgfs/boot/booter/source/irq.c **** 		Status = cp0RdStatus(); 441:/mnt/hgfs/boot/booter/source/irq.c **** 		Status &= ~STATUS_PERFCNT; 442:/mnt/hgfs/boot/booter/source/irq.c **** 		cp0WrStatus(Status); 443:/mnt/hgfs/boot/booter/source/irq.c **** 	} 444:/mnt/hgfs/boot/booter/source/irq.c **** 	else 445:/mnt/hgfs/boot/booter/source/irq.c ****  446:/mnt/hgfs/boot/booter/source/irq.c **** 	if (irq == IRQ_COUNTER) 507              		.loc 1 446 0 508 02c0 07000224 		li	$2,7			# 0x7 447:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 448:/mnt/hgfs/boot/booter/source/irq.c **** 		Status = cp0RdStatus(); 449:/mnt/hgfs/boot/booter/source/irq.c **** 		Status &= ~STATUS_COUNTER; 450:/mnt/hgfs/boot/booter/source/irq.c **** 		cp0WrStatus(Status); 451:/mnt/hgfs/boot/booter/source/irq.c **** 	} 452:/mnt/hgfs/boot/booter/source/irq.c **** 	elseGAS LISTING /tmp/ccsUu95n.s 			page 18 453:/mnt/hgfs/boot/booter/source/irq.c ****  454:/mnt/hgfs/boot/booter/source/irq.c **** 	/* 455:/mnt/hgfs/boot/booter/source/irq.c **** 	 * IC0 456:/mnt/hgfs/boot/booter/source/irq.c **** 	 */ 457:/mnt/hgfs/boot/booter/source/irq.c **** 	if ((irq >= IRQ_IC0_START) && (irq <= IRQ_IC0_END)) 509              		.loc 1 457 0 510              		.loc 1 446 0 511 02c4 36000212 		beq	$16,$2,$L73 512 02c8 F8FF0326 		addiu	$3,$16,-8 513              	 514              		.loc 1 457 0 515 02cc 2000622C 		sltu	$2,$3,32 458:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 459:/mnt/hgfs/boot/booter/source/irq.c **** 		bit = (1 << (irq - IRQ_IC0_START)); 460:/mnt/hgfs/boot/booter/source/irq.c ****  461:/mnt/hgfs/boot/booter/source/irq.c **** 		/* Disable */ 462:/mnt/hgfs/boot/booter/source/irq.c **** 		ic0->cfg2clr = bit; 463:/mnt/hgfs/boot/booter/source/irq.c **** 		ic0->cfg1clr = bit; 464:/mnt/hgfs/boot/booter/source/irq.c **** 		ic0->cfg0clr = bit; 465:/mnt/hgfs/boot/booter/source/irq.c ****  466:/mnt/hgfs/boot/booter/source/irq.c **** 		/* mask: mask irq */ 467:/mnt/hgfs/boot/booter/source/irq.c **** 		ic0->maskclr = bit; 468:/mnt/hgfs/boot/booter/source/irq.c ****  469:/mnt/hgfs/boot/booter/source/irq.c **** 		/* wakeup: do not allow irq to wakeup */ 470:/mnt/hgfs/boot/booter/source/irq.c **** 		ic0->wakeclr = bit; 471:/mnt/hgfs/boot/booter/source/irq.c **** 	} 472:/mnt/hgfs/boot/booter/source/irq.c **** 	else 473:/mnt/hgfs/boot/booter/source/irq.c ****  474:/mnt/hgfs/boot/booter/source/irq.c **** 	/* 475:/mnt/hgfs/boot/booter/source/irq.c **** 	 * IC1 476:/mnt/hgfs/boot/booter/source/irq.c **** 	 */ 477:/mnt/hgfs/boot/booter/source/irq.c **** 	{ 478:/mnt/hgfs/boot/booter/source/irq.c **** 		uint32 gpio = (irq - IRQ_IC1_START); 479:/mnt/hgfs/boot/booter/source/irq.c **** 		 480:/mnt/hgfs/boot/booter/source/irq.c **** 		bit = (1 << gpio); 481:/mnt/hgfs/boot/booter/source/irq.c ****  482:/mnt/hgfs/boot/booter/source/irq.c **** 		/* Disable */ 483:/mnt/hgfs/boot/booter/source/irq.c **** 		ic1->cfg2clr = bit; 516              		.loc 1 483 0 517              		.loc 1 457 0 518 02d0 1C004010 		beq	$2,$0,$L66 519 02d4 80B1023C 		li	$2,-1317011456			# 0xffffffffb1800000 520              	 521              		.loc 1 459 0 522 02d8 04186400 		sll	$3,$4,$3 523              		.loc 1 462 0 524 02dc 40B0023C 		li	$2,-1337982976			# 0xffffffffb0400000 525              	$LBB19: 526              		.loc 1 483 0 527 02e0 540043AC 		sw	$3,84($2) 484:/mnt/hgfs/boot/booter/source/irq.c **** 		ic1->cfg1clr = bit; 528              		.loc 1 484 0 529 02e4 4C0043AC 		sw	$3,76($2) 485:/mnt/hgfs/boot/booter/source/irq.c **** 		ic1->cfg0clr = bit; 530              		.loc 1 485 0 531 02e8 440043AC 		sw	$3,68($2) 486:/mnt/hgfs/boot/booter/source/irq.c **** GAS LISTING /tmp/ccsUu95n.s 			page 19 487:/mnt/hgfs/boot/booter/source/irq.c **** 		/* mask: mask irq */ 488:/mnt/hgfs/boot/booter/source/irq.c **** 		ic1->maskclr = bit; 532              		.loc 1 488 0 533 02ec 740043AC 		sw	$3,116($2) 489:/mnt/hgfs/boot/booter/source/irq.c ****  490:/mnt/hgfs/boot/booter/source/irq.c **** 		/* wakeup: do not allow irq to wakeup */ 491:/mnt/hgfs/boot/booter/source/irq.c **** 		ic1->wakeclr = bit; 534              		.loc 1 491 0 535 02f0 6C0043AC 		sw	$3,108($2) 536              	$LBE19: 492:/mnt/hgfs/boot/booter/source/irq.c **** 	} 493:/mnt/hgfs/boot/booter/source/irq.c ****  494:/mnt/hgfs/boot/booter/source/irq.c **** 	irqDispatch[irq] = NULL; 537              		.loc 1 494 0 538 02f4 0000023C 		lui	$2,%hi(irqDispatch) 539              	$L75: 540 02f8 80181000 		sll	$3,$16,2 541 02fc 00004224 		addiu	$2,$2,%lo(irqDispatch) 542 0300 21186200 		addu	$3,$3,$2 543 0304 000060AC 		sw	$0,0($3) 544              	$L56: 495:/mnt/hgfs/boot/booter/source/irq.c **** } 545              		.loc 1 495 0 546 0308 1400BF8F 		lw	$31,20($sp) 547 030c 1000B08F 		lw	$16,16($sp) 548 0310 0800E003 		j	$31 549 0314 1800BD27 		addiu	$sp,$sp,24 550              	 551              	$L70: 552              	$LBB20: 553              		.loc 1 424 0 554 0318 0000000C 		jal	cp0RdStatus 555 031c 00000000 		nop 556              	 557              		.loc 1 426 0 558 0320 FFFE0424 		li	$4,-257			# 0xfffffffffffffeff 559              	$LBE20: 560              	$LBB21: 561              		.loc 1 450 0 562 0324 0000000C 		jal	cp0WrStatus 563 0328 24204400 		and	$4,$2,$4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -