//! control the interrupt processing
usecrate::registers::cp0;/// disable all interrupts
pubfndisable(){cp0::status::disable_interrupt();}/// enable all interrupts
pubfnenable(){cp0::status::enable_interrupt();}/// execute a closure in critical section, which means it will not be interrupted
/// only works when there is only one processor
pubfncritical_section(f:&Fn() -> ()){disable();f();enable();}