aboutsummaryrefslogtreecommitdiff
path: root/lib/arch/arm64
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arch/arm64')
-rw-r--r--lib/arch/arm64/api.h4
-rw-r--r--lib/arch/arm64/init_stack.cc2
-rw-r--r--lib/arch/arm64/yield.s6
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/arch/arm64/api.h b/lib/arch/arm64/api.h
index b2babc9..729bd1a 100644
--- a/lib/arch/arm64/api.h
+++ b/lib/arch/arm64/api.h
@@ -2,5 +2,5 @@
#pragma once
-extern "C" void yield(const void* new_stack, void* const* old_stack);
-void* init_stack(void* stack_ptr, void (*entry)(void*), void* ctx);
+extern "C" void yield(const void* new_stack, void** old_stack);
+void* init_stack(void* stack_ptr, void (*entry)(void*), const void* ctx);
diff --git a/lib/arch/arm64/init_stack.cc b/lib/arch/arm64/init_stack.cc
index b28d957..f00320b 100644
--- a/lib/arch/arm64/init_stack.cc
+++ b/lib/arch/arm64/init_stack.cc
@@ -3,7 +3,7 @@
extern "C" void thread_create();
-void* init_stack(void* stack_ptr, void (*entry)(void*), void* ctx) {
+void* init_stack(void* stack_ptr, void (*entry)(void*), const void* ctx) {
static_assert(sizeof(uint64_t) == sizeof(std::uintptr_t), "Pointer must be 64bit!");
// Setup initial stack frame which will be popped when yielding
diff --git a/lib/arch/arm64/yield.s b/lib/arch/arm64/yield.s
index 63a4051..5f427bb 100644
--- a/lib/arch/arm64/yield.s
+++ b/lib/arch/arm64/yield.s
@@ -3,9 +3,9 @@
.arch armv8-a
.section .text, "ax", @progbits
- # extern "C" void yield(const void* new_stack, void* const* old_stack);
- # ^^^^^^^^^ ^^^^^^^^^
- # rdi rsi
+ # extern "C" void yield(const void* new_stack, void** old_stack);
+ # ^^^^^^^^^ ^^^^^^^^^
+ # x0 x1
.global yield
.type yield, @function
yield: