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