diff options
| author | Paul Mundt <[email protected]> | 2009-08-20 14:02:20 +0900 |
|---|---|---|
| committer | Paul Mundt <[email protected]> | 2009-08-20 14:02:20 +0900 |
| commit | 485f0720c3e0f57deac403acfbf078a89baeb6ba (patch) | |
| tree | 763e04f149fb17683f3f1353ec517c11c53bc8c2 /include/linux/timerqueue.h | |
| parent | 6503fe4a6508673c15a509ec4ac3ca5979ae9593 (diff) | |
sh: DSP save/restore ordering and a0 sign extension fixups.
As an excellent indicator of how much testing the DSP code gets, a couple
of rather glaring bugs in the DSP save/restore paths were found:
- In the DSP restore case a0 needs to be popped off before a0g,
or the value of a0g is clobbered by the MSB of a0 in the case
of sign extension.
- Beyond that, the save and restore orders were out of sync,
so this fixes that up as well. At the same time, we switch over
to using movs.l for both the save and restore of the general DSP
registers as opposed to using sts.l (which was initially put in
place to work around a bug in ancient binutils versions which
the kernel no longer supports).
Reported-by: Chee Soon Yip <[email protected]>
Cc: Chu Lih Kwek <[email protected]>,
Cc: General Lai <[email protected]>,
Cc: Robert Cozens <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions