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