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

📄 entry-macro-iomd.s

📁 linux-2.6.15.6
💻 S
字号:
/* * arch/arm/commond/entry-macro-iomd.S * * Low-level IRQ helper macros for IOC/IOMD based platforms * * This file is licensed under  the terms of the GNU General Public * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. *//* IOC / IOMD based hardware */#include <asm/hardware/iomd.h>		.equ	ioc_base_high, IOC_BASE & 0xff000000		.equ	ioc_base_low, IOC_BASE & 0x00ff0000		.macro	disable_fiq		mov	r12, #ioc_base_high		.if	ioc_base_low		orr	r12, r12, #ioc_base_low		.endif		strb	r12, [r12, #0x38]	@ Disable FIQ register		.endm		.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp		mov	r4, #ioc_base_high		@ point at IOC		.if	ioc_base_low		orr	r4, r4, #ioc_base_low		.endif		ldrb	\irqstat, [r4, #IOMD_IRQREQB]	@ get high priority first		ldr	\base, =irq_prio_h		teq	\irqstat, #0#ifdef IOMD_BASE		ldreqb	\irqstat, [r4, #IOMD_DMAREQ]	@ get dma		addeq	\base, \base, #256		@ irq_prio_h table size		teqeq	\irqstat, #0		bne	2406f#endif		ldreqb	\irqstat, [r4, #IOMD_IRQREQA]	@ get low priority		addeq	\base, \base, #256		@ irq_prio_d table size		teqeq	\irqstat, #0#ifdef IOMD_IRQREQC		ldreqb	\irqstat, [r4, #IOMD_IRQREQC]		addeq	\base, \base, #256		@ irq_prio_l table size		teqeq	\irqstat, #0#endif#ifdef IOMD_IRQREQD		ldreqb	\irqstat, [r4, #IOMD_IRQREQD]		addeq	\base, \base, #256		@ irq_prio_lc table size		teqeq	\irqstat, #0#endif2406:		ldrneb	\irqnr, [\base, \irqstat]	@ get IRQ number		.endm/* * Interrupt table (incorporates priority).  Please note that we * rely on the order of these tables (see above code). */		.align	5irq_prio_h:	.byte	 0, 8, 9, 8,10,10,10,10,11,11,11,11,10,10,10,10		.byte	12, 8, 9, 8,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	14,14,14,14,10,10,10,10,11,11,11,11,10,10,10,10		.byte	14,14,14,14,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	15,15,15,15,10,10,10,10,11,11,11,11,10,10,10,10		.byte	15,15,15,15,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	15,15,15,15,10,10,10,10,11,11,11,11,10,10,10,10		.byte	15,15,15,15,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10		.byte	13,13,13,13,10,10,10,10,11,11,11,11,10,10,10,10#ifdef IOMD_BASEirq_prio_d:	.byte	 0,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	20,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	22,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	22,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	23,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	23,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	22,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	22,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16		.byte	21,16,17,16,18,16,17,16,19,16,17,16,18,16,17,16#endifirq_prio_l:	.byte	 0, 0, 1, 0, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3		.byte	 4, 0, 1, 0, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3		.byte	 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5		.byte	 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5		.byte	 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3		.byte	 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3		.byte	 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5		.byte	 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7		.byte	 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7#ifdef IOMD_IRQREQCirq_prio_lc:	.byte	24,24,25,24,26,26,26,26,27,27,27,27,27,27,27,27		.byte	28,24,25,24,26,26,26,26,27,27,27,27,27,27,27,27		.byte	29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29		.byte	29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29		.byte	30,30,30,30,30,30,30,30,27,27,27,27,27,27,27,27		.byte	30,30,30,30,30,30,30,30,27,27,27,27,27,27,27,27		.byte	29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29		.byte	29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31		.byte	31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31#endif#ifdef IOMD_IRQREQDirq_prio_ld:	.byte	40,40,41,40,42,42,42,42,43,43,43,43,43,43,43,43		.byte	44,40,41,40,42,42,42,42,43,43,43,43,43,43,43,43		.byte	45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45		.byte	45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45		.byte	46,46,46,46,46,46,46,46,43,43,43,43,43,43,43,43		.byte	46,46,46,46,46,46,46,46,43,43,43,43,43,43,43,43		.byte	45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45		.byte	45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47		.byte	47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47#endif

⌨️ 快捷键说明

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