summaryrefslogtreecommitdiff
path: root/arch/blackfin/mach-common
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2008-10-28 11:03:09 +0800
committerBryan Wu <cooloney@kernel.org>2008-10-28 11:03:09 +0800
commit6ad2b84cf014d91a9dffa3f8edb008430fbdb445 (patch)
treeedf7a13c83fbcba75fa1465c2a4cbffb08c42960 /arch/blackfin/mach-common
parentfe8015ce2588e3ffe65284a2883703355804276e (diff)
downloadlwn-6ad2b84cf014d91a9dffa3f8edb008430fbdb445.tar.gz
lwn-6ad2b84cf014d91a9dffa3f8edb008430fbdb445.zip
Blackfin arch: add an option to allow people to stick exception stack into L1 scratch
allow people to stick exception stack into L1 scratch and make sure it gets placed into .bss sections rather than .data Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r--arch/blackfin/mach-common/entry.S21
1 files changed, 15 insertions, 6 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index bde6dc4e2614..ad4049882291 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -1539,14 +1539,23 @@ ENTRY(_sys_call_table)
.endr
END(_sys_call_table)
-_exception_stack:
- .rept 1024
- .long 0;
- .endr
-_exception_stack_top:
-
#if ANOMALY_05000261
/* Used by the assembly entry point to work around an anomaly. */
_last_cplb_fault_retx:
.long 0;
#endif
+
+#ifdef CONFIG_EXCEPTION_L1_SCRATCH
+/* .section .l1.bss.scratch */
+.set _exception_stack_top, L1_SCRATCH_START + L1_SCRATCH_LENGTH
+#else
+#ifdef CONFIG_SYSCALL_TAB_L1
+.section .l1.bss
+#else
+.bss
+#endif
+_exception_stack:
+.size _exception_stack, 1024 * 4
+.set _exception_stack_top, _exception_stack + 1024 * 4
+.size _exception_stack_top, 0
+#endif