summaryrefslogtreecommitdiff
path: root/sys/include/arch/amd64/frame.h
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-03-07 22:47:49 -0500
committerIan Moffett <ian@osmora.org>2024-03-07 23:00:20 -0500
commit39ed0640f0e33b8a48ba82334de219e9fe4ed0e6 (patch)
treee027a5b155707bfc2bc2710a4a3dfe72f01cef38 /sys/include/arch/amd64/frame.h
parent3154c067ebd5e23b8be9693a1a790c70a9634344 (diff)
kernel: sched: Add support for user threads
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include/arch/amd64/frame.h')
-rw-r--r--sys/include/arch/amd64/frame.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/include/arch/amd64/frame.h b/sys/include/arch/amd64/frame.h
index a2e1a05..298a836 100644
--- a/sys/include/arch/amd64/frame.h
+++ b/sys/include/arch/amd64/frame.h
@@ -67,5 +67,12 @@ struct trapframe {
(FRAME)->rsp = SP; \
(FRAME)->ss = 0x10; \
+#define init_frame_user(FRAME, IP, SP) \
+ (FRAME)->rip = IP; \
+ (FRAME)->cs = 0x18 | 3; \
+ (FRAME)->rflags = 0x202; \
+ (FRAME)->rsp = SP; \
+ (FRAME)->ss = 0x20 | 3; \
+
#endif /* !defined(__ASSEMBLER__) */
#endif /* !_AMD64_FRAME_H_ */