20 lines
505 B
C
20 lines
505 B
C
// SPDX-License-Identifier: MIT
|
|
|
|
#include <zinnia/status.h>
|
|
#include <kernel/futex.h>
|
|
#include <kernel/syscalls.h>
|
|
|
|
zn_status_t syscall_futex_wait(struct arch_context* ctx) {
|
|
__user int* addr = (__user int*)ctx->ARCH_CTX_A0;
|
|
int expected = (int)ctx->ARCH_CTX_A1;
|
|
|
|
return futex_wait(addr, expected);
|
|
}
|
|
|
|
zn_status_t syscall_futex_wake(struct arch_context* ctx) {
|
|
__user int* addr = (__user int*)ctx->ARCH_CTX_A0;
|
|
int count = (int)ctx->ARCH_CTX_A1;
|
|
|
|
return futex_wake(addr, count);
|
|
}
|