Map a page table into an address space.
Takes a VSpace capability as an argument,
and installs a reference to the invoked
in the VSpace according to the provided virtual address.
If higher-level paging structures do not exist for the virtual address
this operation will fail, returning a seL4_FailedLookup error. If the page table
is already mapped this operation will fail, returning a seL4_InvalidCapability error. If
another object is already mapped at this level for the virtual address
this operation will fail, returning a seL4_DeleteFirst error.
VM Attributes for the mapping. Possible values for this type are given in .
Unmap a page table from its and zero it out.
Removes the reference to the invoked from its
containing .
Map a page into an address space or update the mapping attributes.
Takes a VSpace capability, as an
argument and installs a reference
to the given in the lowest-level unmapped paging structure
corresponding to the given address, or updates the mapping attributes if the page is
already mapped at this address. If the required paging structures are not present
this operation will fail, returning a seL4_FailedLookup error. The page must not
already be mapped through this capability in a different VSpace or at a different
address; the page may be mapped in multiple VSpaces by copying the capability.
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 .
Unmap a page.
Removes an existing mapping.
Cleans the data cache out to RAM. The start and end are relative to the page being serviced.
See .
Invalidates the cache range within the given page. The start and end are relative to the page being serviced
and should be aligned to a cache line boundary where possible.
An additional clean is performed on the outer cache lines if the start and end are
not aligned, to clean out the bytes between the requested and the cache line boundary.
See .
Clean and invalidates the cache range within the given page. The range will be flushed out to RAM.
The start and end are relative to the page being serviced.
See .
Unify Instruction Cache. Cleans data lines to point of unification, invalidate
corresponding instruction lines to point of unification, then invalidates branch
predictors. The start and end are relative to the page being
serviced.
See .
Get the physical address of the underlying frame.
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.
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.
Assign an ASID Pool.
Assigns an ASID to the VSpace passed in as an argument.
Bind a TCB to a virtual CPU
There is a 1:1 relationship between a virtual CPU and a TCB. If either (or both) of them is
associated with another one, they will be dissociated, and then associated to the
ones called in this system calls.
Inject an IRQ to a virtual CPU
Read a virtual CPU register
Write a virtual CPU register
Acknowledge a PPI IRQ previously forwarded from a VPPIEvent fault
Acknowledge and unmask the PPI interrupt so that further interrupts can be forwarded
through VPPIEvent faults.
Create an IRQ handler capability and specify the trigger method (edge or level).
See .
Create an IRQ handler capability and specify the trigger method (edge or level) and the target core.
See .
Create a SID capability.
See .
Get the fault status of the SMMU.
See .
A struct that contains a
, which holds the global fault status of the SMMU,
, which holds the global fault syndrome 0 of the SMMU,
, which holds the global fault syndrome 1 of the SMMU,
and . See for a description
of the message register and tag contents upon error.
Clear the fault status of the SMMU.
See .
Binding a context bank to a stream ID.
See .
Unbinding a context bank from a stream ID.
See .
Create a CB capability.
See .
Invalidate all TLB entries.
See .
Assigning a vspace to a context bank.
See .
Unassigning a vspace to a context bank.
See .
Invalidating TLB entries used by the current ASID in this context bank.
See .
Get the fault status of the context bank.
See .
A struct that contains a
, which holds the fault status of the context bank,
, which holds the faulty address,
and . See for a description
of the message register and tag contents upon error.
Clear the fault status of the context bank.
See .