Loading...
Searching...
No Matches
irq_arch_common.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019 Gunar Schorcht
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
22
23#include "irq.h"
24#include "sched.h"
25#include "thread.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
36extern volatile uint32_t irq_interrupt_nesting;
37
46#define irq_isr_enter()
47#define irq_isr_exit()
49
57#define critical_enter() int _irq_state = irq_disable()
58#define critical_exit() irq_restore(_irq_state)
60
65#define critical_enter_var(m) m = irq_disable()
66#define critical_exit_var(m) irq_restore(m)
68
69#ifdef __cplusplus
70}
71#endif
IRQ driver interface.
volatile uint32_t irq_interrupt_nesting
Indicates the interrupt nesting depth.
Scheduler API definition.