Zephyr API Documentation
4.1.99
A Scalable Open Source RTOS
4.1.99
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
Files
File List
Globals
All
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
x
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Macros
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
▼
Zephyr API Documentation
►
Introduction
Deprecated List
►
Topics
►
Data Structures
▼
Files
▼
File List
►
doc
►
kernel
►
lib
►
subsys
▼
zephyr
►
acpi
►
app_memory
▼
arch
▼
arc
▼
asm-compat
►
asm-macro-32-bit-gnu.h
►
asm-macro-32-bit-mwdt.h
►
asm-macro-64-bit-gnu.h
►
asm-macro-64-bit-mwdt.h
assembler.h
►
v2
arc_addr_types.h
►
arch.h
►
arch_inlines.h
►
cluster.h
►
sys-io-common.h
►
syscall.h
thread.h
tool-compat.h
►
arm
►
arm64
►
common
►
mips
►
nios2
►
posix
►
riscv
►
sparc
►
x86
►
xtensa
arch_inlines.h
►
arch_interface.h
►
cache.h
cpu.h
exception.h
structs.h
syscall.h
►
audio
►
bluetooth
►
canbus
►
console
►
crypto
►
data
►
debug
►
devicetree
►
dfu
►
display
►
drivers
►
dsp
►
dt-bindings
►
fs
►
input
►
internal
►
ipc
►
kernel
►
linker
►
llext
►
logging
►
lorawan
►
math
►
mctp
►
mem_mgmt
►
mgmt
►
misc
►
modbus
►
modem
►
multi_heap
►
net
►
platform
►
pm
►
portability
►
posix
►
psa
►
random
►
retention
►
rtio
►
sd
►
sensing
►
settings
►
shell
►
sip_svc
►
stats
►
storage
►
sys
►
task_wdt
►
timing
►
toolchain
►
tracing
►
usb
►
usb_c
►
xen
►
zbus
►
zvfs
►
bindesc.h
►
cache.h
►
device.h
►
devicetree.h
►
fatal.h
►
fatal_types.h
►
init.h
►
irq.h
►
irq_multilevel.h
►
irq_nextlevel.h
►
irq_offload.h
►
kernel.h
kernel_includes.h
►
kernel_structs.h
►
kernel_version.h
►
net_buf.h
►
shared_irq.h
►
smf.h
►
spinlock.h
►
sw_isr_table.h
►
sys_clock.h
►
syscall.h
►
toolchain.h
types.h
►
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
assembler.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: Apache-2.0 */
2
/*
3
* Copyright (C) 2021 Synopsys, Inc. (www.synopsys.com)
4
*
5
* Author: Vineet Gupta <vgupta@synopsys.com>
6
*
7
* Top level include file providing ISA pseudo-mnemonics for use in assembler
8
* and inline assembly.
9
*
10
* - Helps code reuse across ARC64/ARC32/ARCv2
11
* e.g. "LDR" maps to 'LD' on 32-bit ISA, 'LDL' on 64-bit ARCv2/ARC64
12
*
13
* - Provides emulation with multiple instructions if the case be
14
* e.g. "DBNZ" implemented using 'SUB' and 'BRNE'
15
*
16
* - Looks more complex than it really is: mainly because Kconfig defines
17
* are not "honored" in inline assembly. So each variant is unconditional
18
* code in a standalone file with Kconfig based #ifdef'ry here. During the
19
* build process, the "C" preprocessor runs through this file, leaving
20
* just the final variant include in code fed to compiler/assembler.
21
*/
22
23
#ifndef __ASM_ARC_ASM_H
24
#define __ASM_ARC_ASM_H 1
25
26
#ifdef _ASMLANGUAGE
27
28
#if defined(CONFIG_ISA_ARCV3) && defined(CONFIG_64BIT)
29
#define ARC_PTR .xword
30
#define ARC_REGSZ 8
31
#define ARC_REGSHIFT 3
32
33
#if defined(__CCAC__)
34
#include "
asm-macro-64-bit-mwdt.h
"
35
#else
36
#include "
asm-macro-64-bit-gnu.h
"
37
#endif
/* defined(__CCAC__) */
38
39
#elif defined(CONFIG_ISA_ARCV3) && !defined(CONFIG_64BIT)
40
#define ARC_PTR .word
41
#define ARC_REGSZ 4
42
#define ARC_REGSHIFT 2
43
44
#if defined(__CCAC__)
45
#include "
asm-macro-32-bit-mwdt.h
"
46
#else
47
#include "
asm-macro-32-bit-gnu.h
"
48
#endif
/* defined(__CCAC__) */
49
50
#else
51
#define ARC_PTR .word
52
#define ARC_REGSZ 4
53
#define ARC_REGSHIFT 2
54
55
#if defined(__CCAC__)
56
#include "
asm-macro-32-bit-mwdt.h
"
57
#else
58
#include "
asm-macro-32-bit-gnu.h
"
59
#endif
/* defined(__CCAC__) */
60
61
#endif
62
63
#else
/* !_ASMLANGUAGE */
64
65
#error "asm-compat macroses used not in assembler code!"
66
67
#endif
/* _ASMLANGUAGE */
68
69
#endif
asm-macro-32-bit-gnu.h
asm-macro-32-bit-mwdt.h
asm-macro-64-bit-gnu.h
asm-macro-64-bit-mwdt.h
zephyr
arch
arc
asm-compat
assembler.h
Generated on Mon Mar 17 2025 12:04:26 for Zephyr API Documentation by
1.12.0