/* * Copyright (c) 2020 Antony Pavlov * * based on include/arch/riscv/thread.h * * 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_MIPS_THREAD_H_ #define ZEPHYR_INCLUDE_ARCH_MIPS_THREAD_H_ #ifndef _ASMLANGUAGE #include /* * The following structure defines the list of registers that need to be * saved/restored when a cooperative context switch occurs. */ struct _callee_saved { ulong_t sp; /* Stack pointer */ ulong_t s0; /* saved register */ ulong_t s1; /* saved register */ ulong_t s2; /* saved register */ ulong_t s3; /* saved register */ ulong_t s4; /* saved register */ ulong_t s5; /* saved register */ ulong_t s6; /* saved register */ ulong_t s7; /* saved register */ ulong_t s8; /* saved register AKA fp */ }; typedef struct _callee_saved _callee_saved_t; struct _thread_arch { uint32_t swap_return_value; /* Return value of z_swap() */ }; typedef struct _thread_arch _thread_arch_t; #endif /* _ASMLANGUAGE */ #endif /* ZEPHYR_INCLUDE_ARCH_MIPS_THREAD_H_ */