MIPS: start.S: don't save flush_cache parameters in advance
authorGabor Juhos <juhosg@openwrt.org>
Thu, 24 Jan 2013 06:27:55 +0000 (06:27 +0000)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Sun, 27 Jan 2013 15:40:15 +0000 (16:40 +0100)
commit67d80c9f97f1b73d227f64efebf204221a611a70
treea6fa10d0f6eb01fa665a59ebda68366b68eaed82
parent248fe03f53772a61bb7355a4e45cd055dfdcf7b2
MIPS: start.S: don't save flush_cache parameters in advance

Saving the parameters in advance unnecessarily complicates
the code. The destination address is already saved in the
's2' register, and that register is not clobbered by the
copy loop. The size of the copied data can be computed
after the copy loop is done.

Change the code to compute the size parameter right
before calling flush_cache, and set the destination
address parameter in the delay slot of the actuall
call.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
arch/mips/cpu/mips32/start.S
arch/mips/cpu/mips64/start.S