Loading...
Searching...
No Matches
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
19
20#include "irq.h"
21#include "sched.h"
22#include "thread.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
33extern volatile uint32_t irq_interrupt_nesting;
34
43#define irq_isr_enter()
44#define irq_isr_exit()
46
54#define critical_enter() int _irq_state = irq_disable()
55#define critical_exit() irq_restore(_irq_state)
57
62#define critical_enter_var(m) m = irq_disable()
63#define critical_exit_var(m) irq_restore(m)
65
66#ifdef __cplusplus
67}
68#endif
IRQ driver interface.
volatile uint32_t irq_interrupt_nesting
Indicates the interrupt nesting depth.
Scheduler API definition.