Rev 195 | Rev 227 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 195 | Rev 213 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | { |
37 | { |
38 | int excno; |
38 | int excno; |
39 | __u32 epc; |
39 | __u32 epc; |
40 | __u32 epc_shift = 0; |
40 | __u32 epc_shift = 0; |
41 | pri_t pri; |
41 | pri_t pri; |
42 | 42 | ||
- | 43 | /* |
|
- | 44 | * NOTE ON OPERATION ORDERING |
|
- | 45 | * |
|
- | 46 | * On entry, cpu_priority_high() must be called before exception bit is cleared. |
|
- | 47 | * On exit, exception bit must be set before cpu_priority_restore() is called. |
|
- | 48 | */ |
|
- | 49 | ||
43 | pri = cpu_priority_high(); |
50 | pri = cpu_priority_high(); |
44 | epc = cp0_epc_read(); |
51 | epc = cp0_epc_read(); |
45 | cp0_status_write(cp0_status_read() & ~ cp0_status_exl_exception_bit); |
52 | cp0_status_write(cp0_status_read() & ~ cp0_status_exl_exception_bit); |
46 | 53 | ||
47 | if (THREAD) { |
54 | if (THREAD) { |