diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-03-25 20:45:08 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-03-25 20:45:08 +0000 |
commit | 8f04faef91e759aa97d85f403ba236278a25d9f6 (patch) | |
tree | 6677c9302ee03016136238a14d52fb3cae73776e | |
parent | 465820da22e9948a85a227d1e3d8dc42a705c6a9 (diff) | |
download | rockbox-8f04faef91e759aa97d85f403ba236278a25d9f6.tar.gz rockbox-8f04faef91e759aa97d85f403ba236278a25d9f6.zip |
Save a couple bytes in set_irq_level on Coldfire. Should add up to something.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12912 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/target/coldfire/system-target.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/coldfire/system-target.h b/firmware/target/coldfire/system-target.h index 97d096f0e8..c707843af5 100644 --- a/firmware/target/coldfire/system-target.h +++ b/firmware/target/coldfire/system-target.h | |||
@@ -71,9 +71,10 @@ static inline int set_irq_level(int level) | |||
71 | { | 71 | { |
72 | int oldlevel; | 72 | int oldlevel; |
73 | /* Read the old level and set the new one */ | 73 | /* Read the old level and set the new one */ |
74 | asm volatile ("move.w %%sr,%0\n" | 74 | asm volatile ("move.w %%sr, %0 \n" |
75 | "or.l #0x2000,%1\n" | 75 | "bset.l #13, %1 \n" /* Keep supervisor state set */ |
76 | "move.w %1,%%sr\n" : "=d" (oldlevel), "+d" (level) : ); | 76 | "move.w %1, %%sr \n" |
77 | : "=d"(oldlevel), "+d"(level)); | ||
77 | return oldlevel; | 78 | return oldlevel; |
78 | } | 79 | } |
79 | 80 | ||