Thread (7 messages) 7 messages, 4 authors, 2015-02-19

Re: [PATCH 02/14] ARM: ARMv7M: Enlarge vector table to 256 entries

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2015-02-12 20:34:54
Also in: linux-arch, linux-arm-kernel, linux-devicetree, linux-gpio, linux-serial, lkml

On Thu, Feb 12, 2015 at 6:45 PM, Maxime Coquelin
[off-list ref] wrote:
From Cortex-M4 and M7 reference manuals, the nvic supports up to 240
interrupts. So the number of entries in vectors table is 256.

This patch adds the missing entries, and change the alignement, so that
vector_table remains naturally aligned.
Shouldn't this depend on ARCH_STM32, or some other M4 or M7 specific
Kconfig option, to avoid wasting the space on other CPUs?
quoted hunk
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
 arch/arm/kernel/entry-v7m.S | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/kernel/entry-v7m.S b/arch/arm/kernel/entry-v7m.S
index 8944f49..29a461b 100644
--- a/arch/arm/kernel/entry-v7m.S
+++ b/arch/arm/kernel/entry-v7m.S
@@ -117,9 +117,9 @@ ENTRY(__switch_to)
 ENDPROC(__switch_to)

        .data
-       .align  8
+       .align  10
 /*
- * Vector table (64 words => 256 bytes natural alignment)
+ * Vector table (256 words => 1024 bytes alignment)
  */
 ENTRY(vector_table)
        .long   0                       @ 0 - Reset stack pointer
@@ -138,6 +138,6 @@ ENTRY(vector_table)
        .long   __invalid_entry         @ 13 - Reserved
        .long   __pendsv_entry          @ 14 - PendSV
        .long   __invalid_entry         @ 15 - SysTick
-       .rept   64 - 16
-       .long   __irq_entry             @ 16..64 - External Interrupts
+       .rept   256 - 16
+       .long   __irq_entry             @ 16..256 - External Interrupts
        .endr
--
1.9.1
Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help