[Zion] Add a syscall to get a memory object's length.
This commit is contained in:
parent
30b6511467
commit
2e4a12661d
5 changed files with 15 additions and 1 deletions
|
|
@ -33,7 +33,6 @@ z_err_t MemoryObjectCreateContiguous(ZMemoryObjectCreateContiguousReq* req) {
|
|||
z_err_t MemoryObjectDuplicate(ZMemoryObjectDuplicateReq* req) {
|
||||
auto& curr_proc = gScheduler->CurrentProcess();
|
||||
auto vmmo_cap = curr_proc.GetCapability(req->vmmo_cap);
|
||||
// FIXME: Check a duplication permission here.
|
||||
RET_ERR(ValidateCapability<MemoryObject>(vmmo_cap, kZionPerm_Duplicate));
|
||||
|
||||
ASSIGN_OR_RETURN(
|
||||
|
|
@ -43,3 +42,14 @@ z_err_t MemoryObjectDuplicate(ZMemoryObjectDuplicateReq* req) {
|
|||
curr_proc.AddNewCapability(new_vmmo, vmmo_cap->permissions());
|
||||
return glcr::OK;
|
||||
}
|
||||
|
||||
z_err_t MemoryObjectInspect(ZMemoryObjectInspectReq* req) {
|
||||
auto& curr_proc = gScheduler->CurrentProcess();
|
||||
auto vmmo_cap = curr_proc.GetCapability(req->vmmo_cap);
|
||||
RET_ERR(ValidateCapability<MemoryObject>(vmmo_cap, kZionPerm_Read));
|
||||
|
||||
auto vmmo = vmmo_cap->obj<MemoryObject>();
|
||||
*req->size = vmmo->size();
|
||||
|
||||
return glcr::OK;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue