Changeset 22f7769 in mainline for arch/mips32/src/interrupt.c
- Timestamp:
- 2005-10-17T23:31:41Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4b2c872d
- Parents:
- 75eacab
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/src/interrupt.c
r75eacab r22f7769 53 53 } 54 54 55 pri_t cpu_priority_high(void) 55 /** Disable interrupts. 56 * 57 * @return Old interrupt priority level. 58 */ 59 ipl_t interrupts_disable(void) 56 60 { 57 pri_t pri = (pri_t) cp0_status_read();58 cp0_status_write( pri& ~cp0_status_ie_enabled_bit);59 return pri;61 ipl_t ipl = (ipl_t) cp0_status_read(); 62 cp0_status_write(ipl & ~cp0_status_ie_enabled_bit); 63 return ipl; 60 64 } 61 65 62 pri_t cpu_priority_low(void) 66 /** Enable interrupts. 67 * 68 * @return Old interrupt priority level. 69 */ 70 ipl_t interrupts_enable(void) 63 71 { 64 pri_t pri = (pri_t) cp0_status_read();65 cp0_status_write( pri| cp0_status_ie_enabled_bit);66 return pri;72 ipl_t ipl = (ipl_t) cp0_status_read(); 73 cp0_status_write(ipl | cp0_status_ie_enabled_bit); 74 return ipl; 67 75 } 68 76 69 void cpu_priority_restore(pri_t pri) 77 /** Restore interrupt priority level. 78 * 79 * @param ipl Saved interrupt priority level. 80 */ 81 void interrupts_restore(ipl_t ipl) 70 82 { 71 cp0_status_write(cp0_status_read() | ( pri& cp0_status_ie_enabled_bit));83 cp0_status_write(cp0_status_read() | (ipl & cp0_status_ie_enabled_bit)); 72 84 } 73 85 74 pri_t cpu_priority_read(void) 86 /** Read interrupt priority level. 87 * 88 * @return Current interrupt priority level. 89 */ 90 ipl_t interrupts_read(void) 75 91 { 76 92 return cp0_status_read();
Note:
See TracChangeset
for help on using the changeset viewer.