Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
thread.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Antony Pavlov <antonynpavlov@gmail.com>
3 *
4 * based on include/arch/riscv/thread.h
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
21#ifndef ZEPHYR_INCLUDE_ARCH_MIPS_THREAD_H_
22#define ZEPHYR_INCLUDE_ARCH_MIPS_THREAD_H_
23
24#ifndef _ASMLANGUAGE
25#include <zephyr/types.h>
26
27/*
28 * The following structure defines the list of registers that need to be
29 * saved/restored when a cooperative context switch occurs.
30 */
31struct _callee_saved {
32 unsigned long sp; /* Stack pointer */
33
34 unsigned long s0; /* saved register */
35 unsigned long s1; /* saved register */
36 unsigned long s2; /* saved register */
37 unsigned long s3; /* saved register */
38 unsigned long s4; /* saved register */
39 unsigned long s5; /* saved register */
40 unsigned long s6; /* saved register */
41 unsigned long s7; /* saved register */
42 unsigned long s8; /* saved register AKA fp */
43};
44typedef struct _callee_saved _callee_saved_t;
45
46struct _thread_arch {
47 uint32_t swap_return_value; /* Return value of z_swap() */
48};
49
50typedef struct _thread_arch _thread_arch_t;
51
52#endif /* _ASMLANGUAGE */
53
54#endif /* ZEPHYR_INCLUDE_ARCH_MIPS_THREAD_H_ */
__UINT32_TYPE__ uint32_t
Definition stdint.h:90