Zephyr Project API
4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
structs.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) BayLibre SAS
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_ARCH_ARM64_STRUCTS_H_
8
#define ZEPHYR_INCLUDE_ARCH_ARM64_STRUCTS_H_
9
10
/* Per CPU architecture specifics */
11
struct
_cpu_arch {
12
#ifdef CONFIG_FPU_SHARING
13
atomic_ptr_val_t
fpu_owner;
14
#endif
15
#ifdef CONFIG_ARM64_SAFE_EXCEPTION_STACK
16
uint64_t
safe_exception_stack;
17
uint64_t
current_stack_limit;
18
/* Saved the corrupted stack pointer when stack overflow, else 0 */
19
uint64_t
corrupted_sp;
20
#endif
21
#if !defined(CONFIG_FPU_SHARING) && !defined(CONFIG_ARM64_SAFE_EXCEPTION_STACK) && \
22
defined(__cplusplus)
23
/* This struct will have a size 0 in C which is not allowed in C++ (it'll have a size 1). To
24
* prevent this, we add a 1 byte dummy variable.
25
*/
26
uint8_t
dummy;
27
#endif
28
};
29
30
#endif
/* ZEPHYR_INCLUDE_ARCH_ARM64_STRUCTS_H_ */
atomic_ptr_val_t
atomic_ptr_t atomic_ptr_val_t
Value type for atomic pointer variables.
Definition
atomic_types.h:53
uint64_t
__UINT64_TYPE__ uint64_t
Definition
stdint.h:91
uint8_t
__UINT8_TYPE__ uint8_t
Definition
stdint.h:88
include
zephyr
arch
arm64
structs.h
Generated on
for Zephyr Project API by
1.16.1