Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
thread.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2019-2020 Cobham Gaisler AB
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
19
#ifndef ZEPHYR_INCLUDE_ARCH_SPARC_THREAD_H_
20
#define ZEPHYR_INCLUDE_ARCH_SPARC_THREAD_H_
21
22
#ifndef _ASMLANGUAGE
23
#include <
zephyr/types.h
>
24
25
/*
26
* The following structure defines the list of registers that need to be
27
* saved/restored when a cooperative context switch occurs.
28
*/
29
struct
_callee_saved {
30
/* y register used by mul/div */
31
uint32_t
y;
32
33
/* processor status register */
34
uint32_t
psr;
35
36
/*
37
* local registers
38
*
39
* Using uint64_t l0_and_l1 will put everything in this structure on a
40
* double word boundary which allows us to use double word loads and
41
* stores safely in the context switch.
42
*/
43
uint64_t
l0_and_l1;
44
uint32_t
l2;
45
uint32_t
l3;
46
uint32_t
l4;
47
uint32_t
l5;
48
uint32_t
l6;
49
uint32_t
l7;
50
51
/* input registers */
52
uint32_t
i0;
53
uint32_t
i1;
54
uint32_t
i2;
55
uint32_t
i3;
56
uint32_t
i4;
57
uint32_t
i5;
58
uint32_t
i6;
/* frame pointer */
59
uint32_t
i7;
60
61
/* output registers */
62
uint32_t
o6;
/* stack pointer */
63
uint32_t
o7;
64
65
};
66
typedef
struct
_callee_saved _callee_saved_t;
67
68
struct
_thread_arch {
69
/* empty */
70
};
71
72
typedef
struct
_thread_arch _thread_arch_t;
73
74
#endif
/* _ASMLANGUAGE */
75
76
#endif
/* ZEPHYR_INCLUDE_ARCH_SPARC_THREAD_H_ */
types.h
uint32_t
__UINT32_TYPE__ uint32_t
Definition:
stdint.h:60
uint64_t
__UINT64_TYPE__ uint64_t
Definition:
stdint.h:61
include
arch
sparc
thread.h
Generated on Sun Oct 9 2022 09:21:56 for Zephyr API Documentation by
1.9.4