[zion] Add a syscall to duplicate capabilities

This commit is contained in:
Drew Galbraith 2023-06-17 00:59:44 -07:00
parent 378ced6b6c
commit cc191cd6bb
4 changed files with 36 additions and 0 deletions

View file

@ -222,4 +222,14 @@ z_err_t ZIrqRegister(uint64_t irq_num, uint64_t* port_cap) {
return ret;
}
z_err_t ZCapDuplicate(uint64_t cap_in, uint64_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); }

View file

@ -102,3 +102,11 @@ struct ZIrqRegisterReq {
struct ZIrqRegisterResp {
uint64_t port_cap;
};
struct ZCapDuplicateReq {
uint64_t cap;
};
struct ZCapDuplicateResp {
uint64_t cap;
};