[zion] Move the final syscalls to the new format.
This commit is contained in:
parent
bd431b94ce
commit
1edd5023ce
10 changed files with 45 additions and 52 deletions
|
|
@ -4,29 +4,8 @@
|
|||
|
||||
#include "usr/zcall_internal.h"
|
||||
|
||||
z_err_t SysCall2(uint64_t number, const void* first, const void* second) {
|
||||
z_err_t SysCall1(uint64_t number, const void* first) {
|
||||
z_err_t return_code;
|
||||
asm("syscall"
|
||||
: "=a"(return_code)
|
||||
: "D"(number), "S"(first), "d"(second)
|
||||
: "rcx", "r11");
|
||||
asm("syscall" : "=a"(return_code) : "D"(number), "S"(first) : "rcx", "r11");
|
||||
return return_code;
|
||||
}
|
||||
|
||||
z_err_t SysCall0(uint64_t number) { return SysCall2(number, 0, 0); }
|
||||
|
||||
z_err_t SysCall1(uint64_t number, const void* first) {
|
||||
return SysCall2(number, first, 0);
|
||||
}
|
||||
|
||||
z_err_t ZCapDuplicate(z_cap_t cap_in, z_cap_t* cap_out) {
|
||||
ZCapDuplicateReq req{
|
||||
.cap = cap_in,
|
||||
};
|
||||
ZCapDuplicateResp resp;
|
||||
z_err_t ret = SysCall2(Z_CAP_DUPLICATE, &req, &resp);
|
||||
*cap_out = resp.cap;
|
||||
return ret;
|
||||
}
|
||||
|
||||
z_err_t ZDebug(const char* message) { return SysCall1(Z_DEBUG_PRINT, message); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue