1 /* 2 * Copyright (c) BayLibre SAS 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 /* 8 * The purpose of this file is to provide essential/minimal architecture- 9 * specific structure definitions to be included in generic kernel 10 * structures. 11 * 12 * The following rules must be observed: 13 * 1. arch/structs.h shall not depend on kernel.h both directly and 14 * indirectly (i.e. it shall not include any header files that include 15 * kernel.h in their dependency chain). 16 * 2. kernel.h shall imply arch/structs.h via kernel_structs.h , such that 17 * it shall not be necessary to include arch/structs.h explicitly when 18 * kernel.h is included. 19 */ 20 21 #ifndef ZEPHYR_INCLUDE_ARCH_STRUCTS_H_ 22 #define ZEPHYR_INCLUDE_ARCH_STRUCTS_H_ 23 24 #if !defined(_ASMLANGUAGE) 25 26 #if defined(CONFIG_ARM64) 27 #include <arch/arm64/structs.h> 28 #else 29 30 /* Default definitions when no architecture specific definitions exist. */ 31 32 /* Per CPU architecture specifics (empty) */ 33 struct _cpu_arch { 34 }; 35 36 #endif 37 38 /* typedefs to be used with GEN_OFFSET_SYM(), etc. */ 39 typedef struct _cpu_arch _cpu_arch_t; 40 41 #endif /* _ASMLANGUAGE */ 42 43 #endif /* ZEPHYR_INCLUDE_ARCH_STRUCTS_H_ */ 44