blob: 4fbf588c5cdbc66482acb4dcde50d53da7865d84 [file] [log] [blame]
/*
* Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_ARM_STRUCTS_H_
#define ZEPHYR_INCLUDE_ARM_STRUCTS_H_
#include <zephyr/types.h>
#if defined(CONFIG_CPU_AARCH32_CORTEX_A) || defined(CONFIG_CPU_AARCH32_CORTEX_R)
/* Per CPU architecture specifics */
struct _cpu_arch {
int8_t exc_depth;
};
#else
/* Default definitions when no architecture specific definitions exist. */
/* Per CPU architecture specifics (empty) */
struct _cpu_arch {
#ifdef __cplusplus
/* This struct will have a size 0 in C which is not allowed in C++ (it'll have a size 1). To
* prevent this, we add a 1 byte dummy variable.
*/
uint8_t dummy;
#endif
};
#endif
#endif /* ZEPHYR_INCLUDE_ARM_STRUCTS_H_ */