vm: controller: add an auto-detach flag for vm-objects

This commit is contained in:
2026-03-24 20:24:12 +00:00
parent 4daffa804c
commit a0a6a061a4
3 changed files with 36 additions and 8 deletions

View File

@@ -14,19 +14,25 @@ enum vm_object_flags {
VMO_IN_PLACE = 0x01u,
/* this vm-object is/was attached to a vm-controller */
VMO_CONTROLLER = 0x02u,
/* when a vm-object is attached to a controller, and the ref-count of
* the object falls to one (i.e. the last reference is the handle to
* the object held by the server that created it), the object will
* be detached, allowing the server to close the last handle to the
* object and dispose of it. */
VMO_AUTO_DETACH = 0x04u,
/* these flags are for use with vm_object_get_page */
/**************************************************/
/* if the relevant page hasn't been allocated yet, it will be allocated
* and returned. if this flag isn't specified, NULL will be returned. */
VMO_ALLOCATE_MISSING_PAGE = 0x04u,
VMO_ALLOCATE_MISSING_PAGE = 0x08u,
/* if the vm-object is attached to a vm-controller, and the relevant
* page is uncommitted, send a request to the vm-controller to provide
* the missing page. will result in the vm-object being unlocked and
* the current thread sleeping until the request is fulfilled. the
* vm-object will be re-locked before the function returns. */
VMO_REQUEST_MISSING_PAGE = 0x08u,
VMO_REQUEST_MISSING_PAGE = 0x10u,
};
struct vm_object {