1/*
2 * Copyright 2022, Haiku Inc. All rights reserved.
3 * Copyright 2018, Jaroslaw Pelczar <jarek@jpelczar.com>
4 * Distributed under the terms of the MIT License.
5 */
6#ifndef _KERNEL_ARCH_ARM64_ARCH_THREAD_TYPES_H_
7#define _KERNEL_ARCH_ARM64_ARCH_THREAD_TYPES_H_
8
9
10#include <kernel.h>
11
12#define	IFRAME_TRACE_DEPTH 4
13
14struct iframe_stack {
15	struct iframe *frames[IFRAME_TRACE_DEPTH];
16	int32	index;
17};
18
19
20struct arch_thread {
21	uint64 regs[14]; // x19-x30, sp, tpidr_el0
22	uint64 fp_regs[8]; // d8-d15
23
24	// used to track interrupts on this thread
25	struct iframe_stack	iframes;
26};
27
28struct arch_team {
29	int			dummy;
30};
31
32struct arch_fork_arg {
33	int			dummy;
34};
35
36#endif /* _KERNEL_ARCH_ARM64_ARCH_THREAD_TYPES_H_ */
37