SyterKit
0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
include
arch
arm32
linkage.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0+ */
2
3
#ifndef __ARM32_LINKAGE_H__
4
#define __ARM32_LINKAGE_H__
5
6
#ifdef __cplusplus
7
extern
"C"
{
8
#endif
9
10
#define ALIGN .align 0
11
#define ALIGN_STR ".align 0"
12
13
#define ENTRY(name) \
14
.globl name; \
15
ALIGN; \
16
name:
17
18
#define WEAK(name) \
19
.weak name; \
20
name:
21
22
#define END(name) .size name, .- name
23
24
#define ENDPROC(name) \
25
.type name, % function; \
26
END(name)
27
28
#define ARMV7_USR_MODE 0x10
29
#define ARMV7_FIQ_MODE 0x11
30
#define ARMV7_IRQ_MODE 0x12
31
#define ARMV7_SVC_MODE 0x13
32
#define ARMV7_MON_MODE 0x16
33
#define ARMV7_ABT_MODE 0x17
34
#define ARMV7_UND_MODE 0x1b
35
#define ARMV7_SYSTEM_MODE 0x1f
36
#define ARMV7_MODE_MASK 0x1f
37
#define ARMV7_FIQ_MASK 0x40
38
#define ARMV7_IRQ_MASK 0x80
39
40
#ifdef __cplusplus
41
}
42
#endif
43
44
#endif
/* __ARM32_LINKAGE_H__ */
Generated by
1.9.8