1 /* 2 * Copyright (c) BayLibre SAS 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_INCLUDE_RISCV_STRUCTS_H_ 8 #define ZEPHYR_INCLUDE_RISCV_STRUCTS_H_ 9 10 /* Per CPU architecture specifics */ 11 struct _cpu_arch { 12 #ifdef CONFIG_USERSPACE 13 unsigned long user_exc_sp; 14 unsigned long user_exc_tmp0; 15 unsigned long user_exc_tmp1; 16 #endif 17 #if defined(CONFIG_SMP) || (CONFIG_MP_MAX_NUM_CPUS > 1) 18 unsigned long hartid; 19 bool online; 20 #endif 21 #ifdef CONFIG_FPU_SHARING 22 atomic_ptr_val_t fpu_owner; 23 uint32_t fpu_state; 24 #endif 25 }; 26 27 #endif /* ZEPHYR_INCLUDE_RISCV_STRUCTS_H_ */ 28