Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
thread.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Intel Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
19#ifndef ZEPHYR_INCLUDE_ARCH_ARC_THREAD_H_
20#define ZEPHYR_INCLUDE_ARCH_ARC_THREAD_H_
21
22/*
23 * Reason a thread has relinquished control.
24 */
25#define _CAUSE_NONE 0
26#define _CAUSE_COOP 1
27#define _CAUSE_RIRQ 2
28#define _CAUSE_FIRQ 3
29
30#ifndef _ASMLANGUAGE
31#include <zephyr/types.h>
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37struct _callee_saved {
38 uintptr_t sp; /* r28 */
39};
40typedef struct _callee_saved _callee_saved_t;
41
42struct _thread_arch {
43
44 /* one of the _CAUSE_xxxx definitions above */
45 int32_t relinquish_cause;
46
47#ifdef CONFIG_ARC_STACK_CHECKING
48 /* High address of stack region, stack grows downward from this
49 * location. Usesd for hardware stack checking
50 */
51 uintptr_t k_stack_base;
52 uintptr_t k_stack_top;
53#ifdef CONFIG_USERSPACE
54 uintptr_t u_stack_base;
55 uintptr_t u_stack_top;
56#endif
57#endif
58
59#ifdef CONFIG_USERSPACE
60 uintptr_t priv_stack_start;
61#endif
62};
63
64typedef struct _thread_arch _thread_arch_t;
65
66#ifdef __cplusplus
67}
68#endif
69
70#endif /* _ASMLANGUAGE */
71
72
73#endif /* ZEPHYR_INCLUDE_ARCH_ARC_THREAD_H_ */
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105