diff options
author | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-01-14 15:42:56 -0500 |
---|---|---|
committer | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-06-27 11:48:06 -0400 |
commit | d704fb0cc0cce474ac959adca6c3d1f606fcfa2a (patch) | |
tree | d5d700d9b42a7d6bdc9ff3da22c67307ecc80654 /arch/avr32/kernel | |
parent | 5b72b52cab872396c93d808d7fa14017e9061430 (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.S | 9 | ||||
-rw-r--r-- | arch/avr32/kernel/vmlinux.lds.S | 8 |
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 |
88 | itlb_miss: | 88 | itlb_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 |
93 | dtlb_miss_read: | 93 | dtlb_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 |
98 | dtlb_miss_write: | 98 | dtlb_miss_write: |
99 | tlbmiss_save | 99 | tlbmiss_save |
100 | 100 | ||
101 | .global tlb_miss_common | 101 | .global tlb_miss_common |
102 | .align 2 | ||
102 | tlb_miss_common: | 103 | tlb_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 |
161 | system_call: | 162 | system_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 |