1 /* 2 * =========================================================================================== 3 * 4 * Filename: interrupt.c 5 * 6 * Description: interrupt osal impl. for hal layer. 7 * 8 * Version: Melis3.0 9 * Create: 2019-11-25 20:34:50 10 * Revision: none 11 * Compiler: GCC:version 7.2.1 20170904 (release),ARM/embedded-7-branch revision 255204 12 * 13 * Author: caozilong@allwinnertech.com 14 * Organization: BU1-PSW 15 * Last Modified: 2020-07-28 08:48:39 16 * 17 * =========================================================================================== 18 */ 19 20 #include <interrupt.h> 21 #include <rtthread.h> 22 #include <kconfig.h> 23 #include <rthw.h> 24 hal_interrupt_get_nest(void)25uint32_t hal_interrupt_get_nest(void) 26 { 27 uint32_t nest = rt_interrupt_get_nest(); 28 return nest; 29 } 30 hal_interrupt_enable(void)31void hal_interrupt_enable(void) 32 { 33 void local_irq_enable(void); 34 local_irq_enable(); 35 } 36 hal_interrupt_disable(void)37void hal_interrupt_disable(void) 38 { 39 void local_irq_disable(void); 40 local_irq_disable(); 41 } 42 hal_interrupt_save(void)43uint32_t hal_interrupt_save(void) 44 { 45 return rt_hw_interrupt_disable(); 46 } 47 hal_interrupt_restore(uint32_t flag)48void hal_interrupt_restore(uint32_t flag) 49 { 50 return rt_hw_interrupt_enable(flag); 51 } 52