sh: prefetch early exception data on sh4/sh4a.
Prefetch early exception data. There is unused space in our exception handler cache line anyway, so this is almost free. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
4f099ebb27
commit
0197f21ca5
@ -31,3 +31,8 @@
|
||||
#endif
|
||||
.endm
|
||||
|
||||
#if defined(CONFIG_CPU_SH2A) || defined(CONFIG_CPU_SH4)
|
||||
# define PREF(x) pref @x
|
||||
#else
|
||||
# define PREF(x) nop
|
||||
#endif
|
||||
|
@ -463,9 +463,11 @@ tlb_miss:
|
||||
sts pr, k3 ! save original pr value in k3
|
||||
|
||||
handle_exception:
|
||||
mova exception_data, k0
|
||||
|
||||
! Setup stack and save DSP context (k0 contains original r15 on return)
|
||||
bsr prepare_stack_save_dsp
|
||||
nop
|
||||
PREF(k0)
|
||||
|
||||
! Save registers / Switch to bank 0
|
||||
mov.l 5f, k2 ! vector register address
|
||||
@ -556,10 +558,11 @@ ENTRY(handle_interrupt)
|
||||
11:
|
||||
#endif /* defined(CONFIG_KGDB) */
|
||||
sts pr, k3 ! save original pr value in k3
|
||||
mova exception_data, k0
|
||||
|
||||
! Setup stack and save DSP context (k0 contains original r15 on return)
|
||||
bsr prepare_stack_save_dsp
|
||||
nop
|
||||
PREF(k0)
|
||||
|
||||
! Save registers / Switch to bank 0
|
||||
bsr save_regs ! needs original pr value in k3
|
||||
|
Loading…
x
Reference in New Issue
Block a user