irq_arch_common.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2019 Gunar Schorcht
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
20 #include "irq.h"
21 #include "sched.h"
22 #include "thread.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
33 extern volatile uint32_t irq_interrupt_nesting;
34 
43 #define irq_isr_enter()
44 #define irq_isr_exit()
54 #define critical_enter() int _irq_state = irq_disable()
55 #define critical_exit() irq_restore(_irq_state)
62 #define critical_enter_var(m) m = irq_disable()
63 #define critical_exit_var(m) irq_restore(m)
66 #ifdef __cplusplus
67 }
68 #endif
IRQ driver interface.
volatile uint32_t irq_interrupt_nesting
Indicates the interrupt nesting depth.
Scheduler API definition.