diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-03-26 01:50:41 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-03-26 01:50:41 +0000 |
commit | af395f4db6ad7b83f9d9afefb1c0ceeedd140a45 (patch) | |
tree | b631289b4a3b28d3c65b10d272d50298f377c69f /uisimulator/sdl/system-sdl.h | |
parent | 74d678fdbcbc427c057e7682ba0a0566e49a8b97 (diff) | |
download | rockbox-af395f4db6ad7b83f9d9afefb1c0ceeedd140a45.tar.gz rockbox-af395f4db6ad7b83f9d9afefb1c0ceeedd140a45.zip |
Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/sdl/system-sdl.h')
-rw-r--r-- | uisimulator/sdl/system-sdl.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/uisimulator/sdl/system-sdl.h b/uisimulator/sdl/system-sdl.h index c5e7d40560..08f702d01e 100644 --- a/uisimulator/sdl/system-sdl.h +++ b/uisimulator/sdl/system-sdl.h | |||
@@ -24,6 +24,19 @@ | |||
24 | #define HIGHEST_IRQ_LEVEL 1 | 24 | #define HIGHEST_IRQ_LEVEL 1 |
25 | 25 | ||
26 | int set_irq_level(int level); | 26 | int set_irq_level(int level); |
27 | |||
28 | #define disable_irq() \ | ||
29 | ((void)set_irq_level(HIGHEST_IRQ_LEVEL)) | ||
30 | |||
31 | #define enable_irq() \ | ||
32 | ((void)set_irq_level(0)) | ||
33 | |||
34 | #define disable_irq_save() \ | ||
35 | set_irq_level(HIGHEST_IRQ_LEVEL) | ||
36 | |||
37 | #define restore_irq(level) \ | ||
38 | ((void)set_irq_level(level)) | ||
39 | |||
27 | void sim_enter_irq_handler(void); | 40 | void sim_enter_irq_handler(void); |
28 | void sim_exit_irq_handler(void); | 41 | void sim_exit_irq_handler(void); |
29 | bool sim_kernel_init(void); | 42 | bool sim_kernel_init(void); |