aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32/kernel
diff options
context:
space:
mode:
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-01-14 15:42:56 -0500
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-06-27 11:48:06 -0400
commitd704fb0cc0cce474ac959adca6c3d1f606fcfa2a (patch)
treed5d700d9b42a7d6bdc9ff3da22c67307ecc80654 /arch/avr32/kernel
parent5b72b52cab872396c93d808d7fa14017e9061430 (diff)
avr32: Kill special exception handler sections
Kill the special exception handler sections .tlbx.ex.text, .tlbr.ex.text, tlbw.ex.text and .scall.text. Use .org instead to place the handlers at the required offsets from EVBA. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r--arch/avr32/kernel/entry-avr32b.S9
-rw-r--r--arch/avr32/kernel/vmlinux.lds.S8
2 files changed, 5 insertions, 12 deletions
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S
index 5f31702d6b1c..050c006a7f0c 100644
--- a/arch/avr32/kernel/entry-avr32b.S
+++ b/arch/avr32/kernel/entry-avr32b.S
@@ -83,22 +83,23 @@ exception_vectors:
83#define tlbmiss_save pushm r0-r3 83#define tlbmiss_save pushm r0-r3
84#define tlbmiss_restore popm r0-r3 84#define tlbmiss_restore popm r0-r3
85 85
86 .section .tlbx.ex.text,"ax",@progbits 86 .org 0x50
87 .global itlb_miss 87 .global itlb_miss
88itlb_miss: 88itlb_miss:
89 tlbmiss_save 89 tlbmiss_save
90 rjmp tlb_miss_common 90 rjmp tlb_miss_common
91 91
92 .section .tlbr.ex.text,"ax",@progbits 92 .org 0x60
93dtlb_miss_read: 93dtlb_miss_read:
94 tlbmiss_save 94 tlbmiss_save
95 rjmp tlb_miss_common 95 rjmp tlb_miss_common
96 96
97 .section .tlbw.ex.text,"ax",@progbits 97 .org 0x70
98dtlb_miss_write: 98dtlb_miss_write:
99 tlbmiss_save 99 tlbmiss_save
100 100
101 .global tlb_miss_common 101 .global tlb_miss_common
102 .align 2
102tlb_miss_common: 103tlb_miss_common:
103 mfsr r0, SYSREG_TLBEAR 104 mfsr r0, SYSREG_TLBEAR
104 mfsr r1, SYSREG_PTBR 105 mfsr r1, SYSREG_PTBR
@@ -157,7 +158,7 @@ handle_vmalloc_miss:
157 158
158 /* --- System Call --- */ 159 /* --- System Call --- */
159 160
160 .section .scall.text,"ax",@progbits 161 .org 0x100
161system_call: 162system_call:
162#ifdef CONFIG_PREEMPT 163#ifdef CONFIG_PREEMPT
163 mask_interrupts 164 mask_interrupts
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S
index 481cfd40c053..033dd46bfa62 100644
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
@@ -68,14 +68,6 @@ SECTIONS
68 _evba = .; 68 _evba = .;
69 _text = .; 69 _text = .;
70 *(.ex.text) 70 *(.ex.text)
71 . = 0x50;
72 *(.tlbx.ex.text)
73 . = 0x60;
74 *(.tlbr.ex.text)
75 . = 0x70;
76 *(.tlbw.ex.text)
77 . = 0x100;
78 *(.scall.text)
79 *(.irq.text) 71 *(.irq.text)
80 KPROBES_TEXT 72 KPROBES_TEXT
81 TEXT_TEXT 73 TEXT_TEXT