fix microblaze syscall register clobbers
authorRich Felker <dalias@aerifal.cx>
Wed, 2 Apr 2014 18:13:20 +0000 (14:13 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 16 Apr 2014 06:46:04 +0000 (02:46 -0400)
commitd636714704aede6f662c593d3d2d94e8a126b645
treee6582c562bd1caf53efa2612df50c5de8eedf861
parentf96f47d05991f823fbee9812e7630a83b929a88a
fix microblaze syscall register clobbers

the kernel entry point for syscalls on microblaze nominally saves and
restores all registers, and testing on qemu always worked since qemu
behaves this way too. however, the real kernel treats r3:r4 as a
potential 64-bit return value from the syscall function, and copies
both over top of the saved registers before returning to userspace.
thus, we need to treat r4 as always-clobbered.

(cherry picked from commit 91d5aa06572d2660122f9a06ed242fef0383f292)
arch/microblaze/syscall_arch.h