entry-macro.s

来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· S 代码 · 共 61 行

S
61
字号
/* * include/asm-arm/arch-h720x/entry-macro.S * * Low-level IRQ helper macros for Hynix HMS720x 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. */		.macro  disable_fiq		.endm		.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp#if defined (CONFIG_CPU_H7201) || defined (CONFIG_CPU_H7202)		@ we could use the id register on H7202, but this is not		@ properly updated when we come back from asm_do_irq		@ without a previous return from interrupt		@ (see loops below in irq_svc, irq_usr)		@ We see unmasked pending ints only, as the masked pending ints		@ are not visible here		mov     \base, #0xf0000000	       @ base register		orr     \base, \base, #0x24000	       @ irqbase		ldr     \irqstat, [\base, #0x04]        @ get interrupt status#if defined (CONFIG_CPU_H7201)		ldr	\tmp, =0x001fffff#else		mvn     \tmp, #0xc0000000#endif		and     \irqstat, \irqstat, \tmp        @ mask out unused ints		mov     \irqnr, #0		mov     \tmp, #0xff00		orr     \tmp, \tmp, #0xff		tst     \irqstat, \tmp		addeq   \irqnr, \irqnr, #16		moveq   \irqstat, \irqstat, lsr #16		tst     \irqstat, #255		addeq   \irqnr, \irqnr, #8		moveq   \irqstat, \irqstat, lsr #8		tst     \irqstat, #15		addeq   \irqnr, \irqnr, #4		moveq   \irqstat, \irqstat, lsr #4		tst     \irqstat, #3		addeq   \irqnr, \irqnr, #2		moveq   \irqstat, \irqstat, lsr #2		tst     \irqstat, #1		addeq   \irqnr, \irqnr, #1		moveq   \irqstat, \irqstat, lsr #1		tst     \irqstat, #1		       @ bit 0 should be set		.endm		.macro  irq_prio_table		.endm#else#error hynix processor selection missmatch#endif

⌨️ 快捷键说明

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