Skip to content

Commit

Permalink
Blackfin arch: add an option to allow people to stick exception stack…
Browse files Browse the repository at this point in the history
… 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>
  • Loading branch information
Mike Frysinger authored and Bryan Wu committed Oct 28, 2008
1 parent fe8015c commit 6ad2b84
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
11 changes: 11 additions & 0 deletions arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -667,6 +667,17 @@ config APP_STACK_L1

Currently only works with FLAT binaries.

config EXCEPTION_L1_SCRATCH
bool "Locate exception stack in L1 Scratch Memory"
default n
depends on !APP_STACK_L1 && !SYSCALL_TAB_L1
help
Whenever an exception occurs, use the L1 Scratch memory for
stack storage. You cannot place the stacks of FLAT binaries
in L1 when using this option.

If you don't use L1 Scratch, then you should say Y here.

comment "Speed Optimizations"
config BFIN_INS_LOWOVERHEAD
bool "ins[bwl] low overhead, higher interrupt latency"
Expand Down
21 changes: 15 additions & 6 deletions arch/blackfin/mach-common/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 6ad2b84

Please sign in to comment.