Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ad2b84c authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu
Browse files

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: default avatarMike Frysinger <vapier.adi@gmail.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent fe8015ce
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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"
+15 −6
Original line number Diff line number Diff line
@@ -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