From a8fb20ad1dcee7d9f3579b10ddddcf47609b01be Mon Sep 17 00:00:00 2001 From: Eric Miao Date: Wed, 6 Jun 2007 06:49:59 +0100 Subject: [PATCH] --- yaml --- r: 59263 b: refs/heads/master c: 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa h: refs/heads/master i: 59261: 7509afab32c0f9f2f89b1bb45b44e5c97de02580 59259: 440c19bc8930c225e7c90d8de4fb433dc659e050 59255: 6fca2642a54c7493a6c8f9ae58df38e3042d6880 59247: a79537e3323d50f0c3363d28913dcbc855c5fd93 59231: 65909799530100c10cf23375dd523834b144668c 59199: 3e51da3cdfc763daeebe02ec979b6d4daf8de8ae 59135: be5a00a4fc2e0725a41e28a2f3f34cbe0abcff4e v: v3 --- [refs] | 2 +- trunk/include/asm-arm/arch-pxa/entry-macro.S | 28 ++++++++++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 8d4f21170523..9bb91a8ea3fe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a3dcd35c82a2a25b2832502290e1a3f1571e9ef +refs/heads/master: 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa diff --git a/trunk/include/asm-arm/arch-pxa/entry-macro.S b/trunk/include/asm-arm/arch-pxa/entry-macro.S index b7bf0dd4fa44..b7e730851461 100644 --- a/trunk/include/asm-arm/arch-pxa/entry-macro.S +++ b/trunk/include/asm-arm/arch-pxa/entry-macro.S @@ -20,15 +20,33 @@ .endm .macro get_irqnr_and_base, irqnr, irqstat, base, tmp -#ifdef CONFIG_PXA27x - mrc p6, 0, \irqstat, c0, c0, 0 @ ICIP - mrc p6, 0, \irqnr, c1, c0, 0 @ ICMR -#else + mrc p15, 0, \tmp, c0, c0, 0 @ CPUID + mov \tmp, \tmp, lsr #13 + and \tmp, \tmp, #0x7 @ Core G + cmp \tmp, #1 + bhi 1004f + mov \base, #io_p2v(0x40000000) @ IIR Ctl = 0x40d00000 add \base, \base, #0x00d00000 ldr \irqstat, [\base, #0] @ ICIP ldr \irqnr, [\base, #4] @ ICMR -#endif + b 1002f + +1004: + mrc p6, 0, \irqstat, c6, c0, 0 @ ICIP2 + mrc p6, 0, \irqnr, c7, c0, 0 @ ICMR2 + ands \irqstat, \irqstat, \irqnr + beq 1003f + rsb \irqstat, \irqnr, #0 + and \irqstat, \irqstat, \irqnr + clz \irqnr, \irqstat + rsb \irqnr, \irqnr, #31 + add \irqnr, \irqnr, #32 + b 1001f +1003: + mrc p6, 0, \irqstat, c0, c0, 0 @ ICIP + mrc p6, 0, \irqnr, c1, c0, 0 @ ICMR +1002: ands \irqnr, \irqstat, \irqnr beq 1001f rsb \irqstat, \irqnr, #0