diff --git a/repos/base-hw/src/core/kernel/thread.h b/repos/base-hw/src/core/kernel/thread.h index 918102a9f..c3a458458 100644 --- a/repos/base-hw/src/core/kernel/thread.h +++ b/repos/base-hw/src/core/kernel/thread.h @@ -320,12 +320,14 @@ class Kernel::Thread void user_arg_2(Kernel::Call_arg const arg); void user_arg_3(Kernel::Call_arg const arg); void user_arg_4(Kernel::Call_arg const arg); + void user_arg_5(Kernel::Call_arg const arg); Kernel::Call_arg user_arg_0() const; Kernel::Call_arg user_arg_1() const; Kernel::Call_arg user_arg_2() const; Kernel::Call_arg user_arg_3() const; Kernel::Call_arg user_arg_4() const; + Kernel::Call_arg user_arg_5() const; /** * Syscall to create a thread diff --git a/repos/base-hw/src/core/spec/arm/kernel/thread.cc b/repos/base-hw/src/core/spec/arm/kernel/thread.cc index cd3d61391..dd6cb5ac5 100644 --- a/repos/base-hw/src/core/spec/arm/kernel/thread.cc +++ b/repos/base-hw/src/core/spec/arm/kernel/thread.cc @@ -104,9 +104,11 @@ void Thread::user_arg_1(Kernel::Call_arg const arg) { regs->r1 = arg; } void Thread::user_arg_2(Kernel::Call_arg const arg) { regs->r2 = arg; } void Thread::user_arg_3(Kernel::Call_arg const arg) { regs->r3 = arg; } void Thread::user_arg_4(Kernel::Call_arg const arg) { regs->r4 = arg; } +void Thread::user_arg_5(Kernel::Call_arg const arg) { regs->r5 = arg; } Kernel::Call_arg Thread::user_arg_0() const { return regs->r0; } Kernel::Call_arg Thread::user_arg_1() const { return regs->r1; } Kernel::Call_arg Thread::user_arg_2() const { return regs->r2; } Kernel::Call_arg Thread::user_arg_3() const { return regs->r3; } Kernel::Call_arg Thread::user_arg_4() const { return regs->r4; } +Kernel::Call_arg Thread::user_arg_5() const { return regs->r5; } diff --git a/repos/base-hw/src/core/spec/arm_v8/kernel/thread.cc b/repos/base-hw/src/core/spec/arm_v8/kernel/thread.cc index d8f2e0de8..196bf10e4 100644 --- a/repos/base-hw/src/core/spec/arm_v8/kernel/thread.cc +++ b/repos/base-hw/src/core/spec/arm_v8/kernel/thread.cc @@ -136,9 +136,11 @@ void Thread::user_arg_1(Kernel::Call_arg const arg) { regs->r[1] = arg; } void Thread::user_arg_2(Kernel::Call_arg const arg) { regs->r[2] = arg; } void Thread::user_arg_3(Kernel::Call_arg const arg) { regs->r[3] = arg; } void Thread::user_arg_4(Kernel::Call_arg const arg) { regs->r[4] = arg; } +void Thread::user_arg_5(Kernel::Call_arg const arg) { regs->r[5] = arg; } Kernel::Call_arg Thread::user_arg_0() const { return regs->r[0]; } Kernel::Call_arg Thread::user_arg_1() const { return regs->r[1]; } Kernel::Call_arg Thread::user_arg_2() const { return regs->r[2]; } Kernel::Call_arg Thread::user_arg_3() const { return regs->r[3]; } Kernel::Call_arg Thread::user_arg_4() const { return regs->r[4]; } +Kernel::Call_arg Thread::user_arg_5() const { return regs->r[5]; } diff --git a/repos/base-hw/src/core/spec/riscv/kernel/thread.cc b/repos/base-hw/src/core/spec/riscv/kernel/thread.cc index e843499ce..fd81e095d 100644 --- a/repos/base-hw/src/core/spec/riscv/kernel/thread.cc +++ b/repos/base-hw/src/core/spec/riscv/kernel/thread.cc @@ -84,8 +84,10 @@ void Thread::user_arg_1(Kernel::Call_arg const arg) { regs->a1 = arg; } void Thread::user_arg_2(Kernel::Call_arg const arg) { regs->a2 = arg; } void Thread::user_arg_3(Kernel::Call_arg const arg) { regs->a3 = arg; } void Thread::user_arg_4(Kernel::Call_arg const arg) { regs->a4 = arg; } +void Thread::user_arg_5(Kernel::Call_arg const arg) { regs->a5 = arg; } Kernel::Call_arg Thread::user_arg_0() const { return regs->a0; } Kernel::Call_arg Thread::user_arg_1() const { return regs->a1; } Kernel::Call_arg Thread::user_arg_2() const { return regs->a2; } Kernel::Call_arg Thread::user_arg_3() const { return regs->a3; } Kernel::Call_arg Thread::user_arg_4() const { return regs->a4; } +Kernel::Call_arg Thread::user_arg_5() const { return regs->a5; } diff --git a/repos/base-hw/src/core/spec/x86_64/kernel/thread.cc b/repos/base-hw/src/core/spec/x86_64/kernel/thread.cc index 27084e78c..d6aab3aa1 100644 --- a/repos/base-hw/src/core/spec/x86_64/kernel/thread.cc +++ b/repos/base-hw/src/core/spec/x86_64/kernel/thread.cc @@ -70,9 +70,11 @@ void Kernel::Thread::user_arg_1(Kernel::Call_arg const arg) { regs->rsi = arg; } void Kernel::Thread::user_arg_2(Kernel::Call_arg const arg) { regs->rdx = arg; } void Kernel::Thread::user_arg_3(Kernel::Call_arg const arg) { regs->rcx = arg; } void Kernel::Thread::user_arg_4(Kernel::Call_arg const arg) { regs->r8 = arg; } +void Kernel::Thread::user_arg_5(Kernel::Call_arg const arg) { regs->r9 = arg; } Kernel::Call_arg Kernel::Thread::user_arg_0() const { return regs->rdi; } Kernel::Call_arg Kernel::Thread::user_arg_1() const { return regs->rsi; } Kernel::Call_arg Kernel::Thread::user_arg_2() const { return regs->rdx; } Kernel::Call_arg Kernel::Thread::user_arg_3() const { return regs->rcx; } Kernel::Call_arg Kernel::Thread::user_arg_4() const { return regs->r8; } +Kernel::Call_arg Kernel::Thread::user_arg_5() const { return regs->r9; }