Rev 171 | Rev 411 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 171 | Rev 177 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | */ |
27 | */ |
28 | 28 | ||
29 | #include <preemption.h> |
29 | #include <preemption.h> |
30 | #include <arch.h> |
30 | #include <arch.h> |
31 | #include <arch/atomic.h> |
31 | #include <arch/asm.h> |
32 | #include <arch/barrier.h> |
32 | #include <arch/barrier.h> |
- | 33 | #include <debug.h> |
|
33 | 34 | ||
34 | void preemption_disable(void) |
35 | void preemption_disable(void) |
35 | { |
36 | { |
- | 37 | THE->preemption_disabled++; |
|
- | 38 | memory_barrier(); |
|
36 | } |
39 | } |
37 | 40 | ||
38 | void preemption_enable(void) |
41 | void preemption_enable(void) |
39 | { |
42 | { |
- | 43 | ASSERT(THE->preemption_disabled); |
|
- | 44 | memory_barrier(); |
|
- | 45 | THE->preemption_disabled--; |
|
40 | } |
46 | } |