sh: shared register saving code for sh3/sh4/sh4a
authorMagnus Damm <damm@igel.co.jp>
Mon, 23 Feb 2009 07:14:02 +0000 (07:14 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 27 Feb 2009 07:26:10 +0000 (16:26 +0900)
commit1d015cf02a1fd46385c03cf3ce8958dbea705dd3
tree833e2ab294be74d7ecb3512a24bfefbc86189c59
parentb233b28eac0cc37d07c2d007ea08c86c778c5af4
sh: shared register saving code for sh3/sh4/sh4a

This patch reworks the sh3/sh4/sh4a register saving code in
the following ways:
 - break out prepare_stack_save_dsp() from handle_exception()
 - break out save_regs() from handle_exception()
 - the register saving order is unchanged
 - align new functions to fit in cache lines
 - separate exception code from interrupt code
 - keep main code flow in a single cache line per exception vector
 - use bsr/rts for regular functions (save pr first)
 - keep data in one shared cache line (exception_data)
 - document the functions
 - tie in the hp6xx code

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/mach-hp6xx/pm_wakeup.S
arch/sh/kernel/cpu/sh3/entry.S