Map a page table at a specific virtual address. Starting from the VSpace, map the page table object at any unpopulated level for the provided virtual address. If all paging structures and mappings are present for this virtual address, return an seL4_DeleteFirst error. VSpace to map the lower-level page table into. Virtual address at which to map the page table. VM Attributes for the mapping. Possible values for this type are given in . A page is mapped in at . Or, all required page tables are already mapped in at . The is not assigned to an ASID pool. The is a CPtr to a capability of the wrong type. The is in the kernel virtual address range. The or is a CPtr to a capability of the wrong type. Or, is not assigned to an ASID pool. Or, is already mapped in a VSpace. Unmap a page table. See The is a CPtr to a capability of the wrong type. The is a CPtr to a capability of the wrong type. The is the root of a VSpace. Or, a copy of the capability exists. Map a page into a page table. Takes a VSpace, or top-level , capability as an argument and installs a reference to the given in the page table slot corresponding to the given address. If a page is already mapped at the same virtual address, update the mapping attributes. If the required paging structures are not present this operation will fail, returning a seL4_FailedLookup error. VSpace to map the page into. Virtual address at which to map the page. Rights for the mapping. Possible values for this type are given in . VM Attributes for the mapping. Possible values for this type are given in . The is not aligned to the page size of . A mapping already exists in at . The does not have a paging structure at the required level mapped at . Or, is not assigned to an ASID pool. The is a CPtr to a capability of the wrong type. The is already mapped in at a different virtual address. Or, is in the kernel virtual address range. The or is a CPtr to a capability of the wrong type. Or, is not the root of a VSpace. Or, is not assigned to an ASID pool. Or, is already mapped in a different VSpace. Unmap a page. Removes an existing mapping. The is a CPtr to a capability of the wrong type. The is a CPtr to a capability of the wrong type. Get the physical address of a page. See . A struct that contains a , which holds the physical address of the page, and . See for a description of the message register and tag contents upon error. The is a CPtr to a capability of the wrong type. The is a CPtr to a capability of the wrong type. Create an ASID Pool. Together with a capability to , which is passed as an argument, create an . The untyped capability must represent a 4K memory object. This will create an ASID pool with enough space for 1024 VSpaces. The destination slot contains a capability. Or, there are no more ASID pools available. The or is invalid (see ). Or, is a CPtr to a capability of the wrong type. The is a CPtr to a capability of the wrong type. The or is a CPtr to a capability of the wrong type. Or, is not the exact size of an ASID pool object. Or, is a device untyped (see ). The is invalid (see ). The has been used to retype an object. Or, a copy of the capability exists. Assign an ASID Pool. Assigns an ASID to the VSpace passed in as an argument. The top-level that is being assigned to an ASID pool. Must not already be assigned to an ASID pool. There are no more ASIDs available in . The is a CPtr to a capability of the wrong type. The or is a CPtr to a capability of the wrong type. Or, is already assigned to an ASID pool. Or, is mapped in a VSpace. Create an IRQ handler capability and specify the trigger method (edge or level). See . The destination slot contains a capability. The or is invalid (see ). Or, is a CPtr to a capability of the wrong type. The is a CPtr to a capability of the wrong type. Or, the platform does not support setting the IRQ trigger. The is a CPtr to a capability of the wrong type. The is invalid. Or, is invalid (see ). An IRQ handler capability for has already been created.