1 /*
2  * Copyright (c) 2019 Carlo Caione <ccaione@baylibre.com>
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * @file
9  * @brief ARM64 specific kernel interface header
10  *
11  * This header contains the ARM64 specific kernel interface.  It is
12  * included by the kernel interface architecture-abstraction header
13  * (include/arm64/cpu.h)
14  */
15 
16 #ifndef ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_H_
17 #define ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_H_
18 
19 /* Add include for DTS generated information */
20 #include <zephyr/devicetree.h>
21 
22 #include <zephyr/arch/arm64/thread.h>
23 #include <zephyr/arch/arm64/exception.h>
24 #include <zephyr/arch/arm64/irq.h>
25 #include <zephyr/arch/arm64/misc.h>
26 #include <zephyr/arch/arm64/asm_inline.h>
27 #include <zephyr/arch/arm64/cpu.h>
28 #include <zephyr/arch/arm64/macro.inc>
29 #include <zephyr/arch/arm64/sys_io.h>
30 #include <zephyr/arch/arm64/timer.h>
31 #include <zephyr/arch/arm64/error.h>
32 #include <zephyr/arch/arm64/mm.h>
33 #include <zephyr/arch/arm64/thread_stack.h>
34 #include <zephyr/arch/common/addr_types.h>
35 #include <zephyr/arch/common/sys_bitops.h>
36 #include <zephyr/arch/common/ffs.h>
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 #ifndef _ASMLANGUAGE
43 
44 #include <zephyr/sys/slist.h>
45 
46 struct arch_mem_domain {
47 #ifdef CONFIG_ARM_MMU
48 	struct arm_mmu_ptables ptables;
49 #endif
50 	sys_snode_t node;
51 };
52 
53 #endif /* _ASMLANGUAGE */
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_H_ */
60