/* * Copyright (c) 2017 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * @brief Per-arch thread definition * * This file contains definitions for * * struct _thread_arch * struct _callee_saved * * necessary to instantiate instances of struct k_thread. */ #ifndef ZEPHYR_INCLUDE_ARCH_NIOS2_THREAD_H_ #define ZEPHYR_INCLUDE_ARCH_NIOS2_THREAD_H_ #ifndef _ASMLANGUAGE #include struct _callee_saved { /* General purpose callee-saved registers */ uint32_t r16; uint32_t r17; uint32_t r18; uint32_t r19; uint32_t r20; uint32_t r21; uint32_t r22; uint32_t r23; /* Normally used for the frame pointer but also a general purpose * register if frame pointers omitted */ uint32_t r28; /* Return address */ uint32_t ra; /* Stack pointer */ uint32_t sp; /* IRQ status before irq_lock() and call to z_swap() */ uint32_t key; /* Return value of z_swap() */ uint32_t retval; }; typedef struct _callee_saved _callee_saved_t; struct _thread_arch { /* nothing for now */ }; typedef struct _thread_arch _thread_arch_t; #endif /* _ASMLANGUAGE */ #endif /* ZEPHYR_INCLUDE_ARCH_NIOS2_THREAD_H_ */