libyggdrasil
v1.0.0
instructions.hpp
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
* _____.___. .___ .__.__ *
3
* \__ | | ____ ____ __| _/___________ _____|__| | *
4
* / | |/ ___\ / ___\ / __ |\_ __ \__ \ / ___/ | | *
5
* \____ / /_/ > /_/ > /_/ | | | \// __ \_\___ \| | |__ *
6
* / ______\___ /\___ /\____ | |__| (____ /____ >__|____/ *
7
* \/ /_____//_____/ \/ \/ \/ *
8
* - Asgard - *
9
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
10
* This software can be used by students and other personal of the *
11
* Bern University of Applied Sciences under the terms of the MIT *
12
* license. *
13
* For other persons this software is under the terms of the GNU *
14
* General Public License version 2. *
15
* *
16
* Copyright © 2021, Bern University of Applied Sciences. *
17
* All rights reserved. *
18
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
26
#pragma once
27
28
#include <
cpp/common/types.hpp
>
29
#include <
cpp/common/attributes.hpp
>
30
31
namespace
bsp::core
{
32
36
ALWAYS_INLINE
static
void
DSB() {
37
asm
volatile
(
"DSB"
);
38
}
39
43
ALWAYS_INLINE
static
void
ISB() {
44
asm
volatile
(
"ISB"
);
45
}
46
50
ALWAYS_INLINE
static
void
WFE() {
51
asm
volatile
(
"WFE"
);
52
}
53
57
ALWAYS_INLINE
static
void
WFI() {
58
asm
volatile
(
"WFI"
);
59
}
60
64
ALWAYS_INLINE
static
void
NOP() {
65
asm
volatile
(
"NOP"
);
66
}
67
}
types.hpp
Commonly used type definitions and helper templates.
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition:
attributes.h:34
bsp::core
Definition:
cortex.hpp:33
attributes.hpp
Commonly used C++ and GNU attributes.
Inc
cpp
asgard_coproc
core
instructions.hpp
Generated by
1.8.20