Zephyr API Documentation 4.4.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
structs.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved.
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef ZEPHYR_INCLUDE_ARM_STRUCTS_H_
7#define ZEPHYR_INCLUDE_ARM_STRUCTS_H_
8
9#include <zephyr/types.h>
10
11#if defined(CONFIG_CPU_AARCH32_CORTEX_A) || defined(CONFIG_CPU_AARCH32_CORTEX_R) || \
12 defined(CONFIG_CPU_AARCH32_ARM9)
13/* Per CPU architecture specifics */
14struct _cpu_arch {
15 int8_t exc_depth;
16};
17
18#else
19
20/* Default definitions when no architecture specific definitions exist. */
21
22/* Per CPU architecture specifics (empty) */
23struct _cpu_arch {
24#ifdef __cplusplus
25 /* This struct will have a size 0 in C which is not allowed in C++ (it'll have a size 1). To
26 * prevent this, we add a 1 byte dummy variable.
27 */
28 uint8_t dummy;
29#endif
30};
31
32#endif
33
34#endif /* ZEPHYR_INCLUDE_ARM_STRUCTS_H_ */
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__INT8_TYPE__ int8_t
Definition stdint.h:72