mirror of
https://github.com/seL4/seL4.git
synced 2026-03-27 10:29:57 +00:00
@@ -444,9 +444,9 @@
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
description="Capability to an untyped memory object that will become the pool. Must be 4K bytes."/>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word"
|
||||
description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8"
|
||||
description="Number of bits of index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
@@ -680,8 +680,8 @@
|
||||
<param dir="in" name="irq" type="seL4_Word" description="The IRQ that you want this capability to handle."/>
|
||||
|
||||
<param dir="in" name="trigger" type="seL4_Word" description="Indicates whether this IRQ is edge (1) or level (0) triggered."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
<description>
|
||||
@@ -730,8 +730,8 @@
|
||||
<param dir="in" name="irq" type="seL4_Word" description="The IRQ that you want this capability to handle."/>
|
||||
|
||||
<param dir="in" name="trigger" type="seL4_Word" description="Indicates whether this IRQ is edge (1) or level (0) triggered."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<param dir="in" name="target" type="seL4_Word" description="Indicates the target core ID to which this irq will be sent."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
@@ -783,8 +783,8 @@
|
||||
<docref>See <autoref label="sec:smmuv2-creating-sel4-arm-sid-capabilities"/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="sid" type="seL4_Word" description="The SID that you want this capability to manage."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
<description>
|
||||
@@ -928,8 +928,8 @@
|
||||
<docref>See <autoref label="sec:smmuv2-creating-sel4-arm-cb-capabilities"/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="cb" type="seL4_Word" description="The CB that you want this capability to manage."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
<description>
|
||||
|
||||
@@ -239,9 +239,9 @@
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
description="Capability to an untyped memory object that will become the pool. Must be 4K bytes."/>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth of 32."/>
|
||||
description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth of 32."/>
|
||||
<param dir="in" name="index" type="seL4_Word"
|
||||
description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth of 32."/>
|
||||
description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth of 32."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8"
|
||||
description="Number of bits of index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
@@ -328,8 +328,8 @@
|
||||
<param dir="in" name="irq" type="seL4_Word" description="The IRQ that you want this capability to handle."/>
|
||||
|
||||
<param dir="in" name="trigger" type="seL4_Word" description="Indicates whether this IRQ is edge (1) or level (0) triggered."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
<description>
|
||||
|
||||
@@ -487,9 +487,9 @@ contain the mapping"/>
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
description='Capability to an untyped memory object that will become the pool. Must be 4K bytes.'/>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description='CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
description='CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
<param dir="in" name="index" type="seL4_Word"
|
||||
description='CPTR to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
description='CPtr to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8"
|
||||
description='Number of bits of index to resolve to find the destination slot.'/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
@@ -569,8 +569,8 @@ contain the mapping"/>
|
||||
</description>
|
||||
<param dir="in" name="first_port" type="seL4_Word" description="First port of the range of the issued capability."/>
|
||||
<param dir="in" name="last_port" type="seL4_Word" description="Last port of the range of the issued capability."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst">
|
||||
<description>
|
||||
@@ -758,9 +758,9 @@ contain the mapping"/>
|
||||
<docref>See <autoref label='sec:interrupts'/> and <autoref label='sec:x86_interrupts'/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description='CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
description='CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
<param dir="in" name="index" type="seL4_Word"
|
||||
description='CPTR to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
description='CPtr to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8"
|
||||
description='Number of bits of index to resolve to find the destination slot.'/>
|
||||
|
||||
@@ -815,9 +815,9 @@ contain the mapping"/>
|
||||
<docref>See <autoref label='sec:interrupts'/> and <autoref label='sec:x86_interrupts'/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description='CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
description='CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize.'/>
|
||||
<param dir="in" name="index" type="seL4_Word"
|
||||
description='CPTR to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
description='CPtr to the destination slot. Resolved from the root of the destination CSpace.'/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8"
|
||||
description='Number of bits of index to resolve to find the destination slot.'/>
|
||||
<param dir="in" name="pci_bus" type="seL4_Word" description='PCI bus ID of the device that will generate the interrupt.'/>
|
||||
@@ -870,7 +870,7 @@ contain the mapping"/>
|
||||
<docref>See <autoref label='sec:virt'/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="eptpml4" type="seL4_X86_EPTPML4"
|
||||
description='CPTR to an EPT PML4 object to act as the guest mode vspace root'/>
|
||||
description='CPtr to an EPT PML4 object to act as the guest mode vspace root'/>
|
||||
<error name="seL4_IllegalOperation">
|
||||
<description>
|
||||
The <texttt text="_service"/> or <texttt text="eptpml4"/> is a CPtr to a capability of the wrong type.
|
||||
@@ -894,7 +894,7 @@ contain the mapping"/>
|
||||
Configures the one-to-one binding of a VCPU and TCB, overwriting any previous binding
|
||||
in both. <docref>See <autoref label='sec:virt'/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="tcb" type="seL4_TCB" description='CPTR of the TCB to bind to'/>
|
||||
<param dir="in" name="tcb" type="seL4_TCB" description='CPtr of the TCB to bind to'/>
|
||||
<error name="seL4_IllegalOperation">
|
||||
<description>
|
||||
The <texttt text="_service"/> or <texttt text="tcb"/> is a CPtr to a capability of the wrong type.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<api name="ObjectApi">
|
||||
|
||||
<interface name="seL4_Untyped" manual_name="Untyped" cap_description="CPTR to an untyped object.">
|
||||
<interface name="seL4_Untyped" manual_name="Untyped" cap_description="CPtr to an untyped object.">
|
||||
|
||||
<method id="UntypedRetype" name="Retype" manual_name="Retype" manual_label="untyped_retype">
|
||||
<brief>
|
||||
@@ -39,9 +39,9 @@
|
||||
<param dir="in" name="size_bits" type="seL4_Word"
|
||||
description="Used to determine the size of variable-sized objects."/>
|
||||
<param dir="in" name="root" type="seL4_CNode"
|
||||
description="CPTR to the CNode at the root of the destination CSpace."/>
|
||||
description="CPtr to the CNode at the root of the destination CSpace."/>
|
||||
<param dir="in" name="node_index" type="seL4_Word"
|
||||
description="CPTR to the destination CNode. Resolved relative to the root parameter."/>
|
||||
description="CPtr to the destination CNode. Resolved relative to the root parameter."/>
|
||||
<param dir="in" name="node_depth" type="seL4_Word"
|
||||
description="Number of bits of node_index to translate when addressing the destination CNode."/>
|
||||
<param dir="in" name="node_offset" type="seL4_Word"
|
||||
@@ -188,7 +188,7 @@
|
||||
<docref>See <autoref label="sec:threads"/></docref>
|
||||
</description>
|
||||
<param dir="in" name="fault_ep" type="seL4_Word"
|
||||
description="CPTR to the endpoint which receives IPCs when this thread faults. This capability is in the CSpace of the thread being configured."/>
|
||||
description="CPtr to the endpoint which receives IPCs when this thread faults. This capability is in the CSpace of the thread being configured."/>
|
||||
<param dir="in" name="cspace_root" type="seL4_CNode"
|
||||
description="The new CSpace root."/>
|
||||
<param dir="in" name="cspace_root_data" type="seL4_Word"
|
||||
@@ -371,7 +371,7 @@
|
||||
<param dir="in" name="sched_context" type="seL4_CPtr"
|
||||
description="Capability to the scheduling context that the TCB should run on. If the scheduling context is already bound to a notification or TCB that is not this TCB this operation will fail. Similarly, if this TCB is already bound to a scheduling context that is not this scheduling context, this will also fail."/>
|
||||
<param dir="in" name="fault_ep" type="seL4_CPtr"
|
||||
description="CPTR to the endpoint which receives IPCs when this thread faults."/>
|
||||
description="CPtr to the endpoint which receives IPCs when this thread faults."/>
|
||||
<error name="seL4_IllegalOperation">
|
||||
<description>
|
||||
The <texttt text="_service"/> is a CPtr to a capability of the wrong type.
|
||||
@@ -403,7 +403,7 @@
|
||||
Timeout exception messages will be delivered to this endpoint if it is not a null capability.
|
||||
</description>
|
||||
<param dir="in" name="timeout_fault_ep" type="seL4_CPtr"
|
||||
description="CPTR to the endpoint which receives IPCs when this thread triggers timeout faults. Can be null."/>
|
||||
description="CPtr to the endpoint which receives IPCs when this thread triggers timeout faults. Can be null."/>
|
||||
<error name="seL4_IllegalOperation">
|
||||
<description>
|
||||
The <texttt text="_service"/> is a CPtr to a capability of the wrong type.
|
||||
@@ -459,7 +459,7 @@
|
||||
<docref>See <autoref label="sec:threads"/></docref>
|
||||
</description>
|
||||
<param dir="in" name="fault_ep" type="seL4_Word"
|
||||
description="CPTR to the endpoint which receives IPCs when this thread faults. This capability is in the CSpace of the thread being configured."/>
|
||||
description="CPtr to the endpoint which receives IPCs when this thread faults. This capability is in the CSpace of the thread being configured."/>
|
||||
<param dir="in" name="cspace_root" type="seL4_CNode"
|
||||
description="The new CSpace root."/>
|
||||
<param dir="in" name="cspace_root_data" type="seL4_Word"
|
||||
@@ -496,7 +496,7 @@
|
||||
<docref>See <autoref label="sec:threads"/></docref>
|
||||
</description>
|
||||
<param dir="in" name="fault_ep" type="seL4_CPtr"
|
||||
description="CPTR to the endpoint which receives IPCs when this thread faults. On MCS this cap gets copied into the TCB."/>
|
||||
description="CPtr to the endpoint which receives IPCs when this thread faults. On MCS this cap gets copied into the TCB."/>
|
||||
<param dir="in" name="cspace_root" type="seL4_CNode"
|
||||
description="The new CSpace root."/>
|
||||
<param dir="in" name="cspace_root_data" type="seL4_Word"
|
||||
@@ -835,8 +835,8 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the capability. Resolved from the root of the _service parameter."/>
|
||||
<cap_param append_description="CPtr to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the capability. Resolved from the root of the _service parameter."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of index to resolve to find the capability being operated on."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
<description>
|
||||
@@ -867,8 +867,8 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the capability. Resolved from the root of the _service parameter."/>
|
||||
<cap_param append_description="CPtr to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the capability. Resolved from the root of the _service parameter."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of index to resolve to find the capability being operated on."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
<description>
|
||||
@@ -902,8 +902,8 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the capability. Resolved from the root of the _service parameter."/>
|
||||
<cap_param append_description="CPtr to the CNode at the root of the CSpace where the capability will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the capability. Resolved from the root of the _service parameter."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of index to resolve to find the capability being operated on."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
<description>
|
||||
@@ -935,11 +935,11 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<cap_param append_description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="dest_depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPTR to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPtr to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_depth" type="seL4_Uint8" description="Number of bits of src_index to resolve to find the source slot."/>
|
||||
<param dir="in" name="rights" type="seL4_CapRights_t">
|
||||
<description>
|
||||
@@ -984,11 +984,11 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<cap_param append_description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="dest_depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPTR to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPtr to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_depth" type="seL4_Uint8" description="Number of bits of src_index to resolve to find the source slot."/>
|
||||
<param dir="in" name="rights" type="seL4_CapRights_t">
|
||||
<description>
|
||||
@@ -1035,11 +1035,11 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<cap_param append_description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="dest_depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPTR to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPtr to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_depth" type="seL4_Uint8" description="Number of bits of src_index to resolve to find the source slot."/>
|
||||
<error name="seL4_DeleteFirst" description="The destination slot contains a capability."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
@@ -1077,11 +1077,11 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<cap_param append_description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="dest_depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPTR to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the source CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPtr to the source slot. Resolved from the root of the source CSpace."/>
|
||||
<param dir="in" name="src_depth" type="seL4_Uint8" description="Number of bits of src_index to resolve to find the source slot."/>
|
||||
<param dir="in" name="badge" type="seL4_Word" description="Guard to be applied to the new capability."/>
|
||||
<error name="seL4_DeleteFirst" description="The destination slot contains a capability."/>
|
||||
@@ -1118,16 +1118,16 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode at the root of the CSpace where the destination slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPTR to the destination slot. Resolved relative to _service. Must be empty unless it refers to the same slot as the source slot."/>
|
||||
<cap_param append_description="CPtr to the CNode at the root of the CSpace where the destination slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="dest_index" type="seL4_Word" description="CPtr to the destination slot. Resolved relative to _service. Must be empty unless it refers to the same slot as the source slot."/>
|
||||
<param dir="in" name="dest_depth" type="seL4_Uint8" description="Depth to resolve dest_index to."/>
|
||||
<param dir="in" name="dest_badge" type="seL4_Word" description="The new capdata for the capability that ends up in the destination slot."/>
|
||||
<param dir="in" name="pivot_root" type="seL4_CNode" description="CPTR to the CNode at the root of the CSpace where the pivot slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="pivot_index" type="seL4_Word" description="CPTR to the pivot slot. Resolved relative to pivot_root. The resolved slot must not refer to the source or destination slots."/>
|
||||
<param dir="in" name="pivot_root" type="seL4_CNode" description="CPtr to the CNode at the root of the CSpace where the pivot slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="pivot_index" type="seL4_Word" description="CPtr to the pivot slot. Resolved relative to pivot_root. The resolved slot must not refer to the source or destination slots."/>
|
||||
<param dir="in" name="pivot_depth" type="seL4_Uint8" description="Depth to resolve pivot_index to."/>
|
||||
<param dir="in" name="pivot_badge" type="seL4_Word" description="The new capdata for the capability that ends up in the pivot slot."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPTR to the CNode at the root of the CSpace where the source slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPTR to the source slot. Resolved relative to src_root."/>
|
||||
<param dir="in" name="src_root" type="seL4_CNode" description="CPtr to the CNode at the root of the CSpace where the source slot will be found. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="src_index" type="seL4_Word" description="CPtr to the source slot. Resolved relative to src_root."/>
|
||||
<param dir="in" name="src_depth" type="seL4_Uint8" description="Depth to resolve src_index to."/>
|
||||
<error name="seL4_DeleteFirst" description="If the destination is not the same slot as the source and the destination slot contains a capability."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
@@ -1164,8 +1164,8 @@
|
||||
<description>
|
||||
<docref>See <autoref label="sec:cnode-ops"/>.</docref>
|
||||
</description>
|
||||
<cap_param append_description="CPTR to the CNode at the root of the CSpace where the capability is to be saved. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the slot in which to save the capability. Resolved from the root of the _service parameter."/>
|
||||
<cap_param append_description="CPtr to the CNode at the root of the CSpace where the capability is to be saved. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the slot in which to save the capability. Resolved from the root of the _service parameter."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of index to resolve to find the slot being targeted."/>
|
||||
<error name="seL4_DeleteFirst" description="The destination slot contains a capability."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
@@ -1202,8 +1202,8 @@
|
||||
<docref>See <autoref label="sec:interrupts"/>.</docref>
|
||||
</description>
|
||||
<param dir="in" name="irq" type="seL4_Word" description="The IRQ that you want this capability to handle."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="root" type="seL4_CNode" description="CPtr to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/>
|
||||
<param dir="in" name="index" type="seL4_Word" description="CPtr to the destination slot. Resolved from the root of the destination CSpace."/>
|
||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/>
|
||||
<error name="seL4_DeleteFirst" description="The destination slot contains a capability."/>
|
||||
<error name="seL4_FailedLookup">
|
||||
|
||||
@@ -25,7 +25,7 @@ thread's own resources as well as to all available global resources.
|
||||
The CNode size can be configured at compile time (default is $2^{12}$
|
||||
slots), but the guard is always chosen so that the CNode resolves exactly
|
||||
the number of bits in the architecture (32 bits or 64 bits). This means, the
|
||||
first slot of the CNode has CPTR 0x0, the second slot has CPTR 0x1 etc.
|
||||
first slot of the CNode has CPtr 0x0, the second slot has CPtr 0x1 etc.
|
||||
|
||||
The first 15 slots (or 14 slots if not MCS) contain specific capabilities as listed in
|
||||
\autoref{tab:cnode_content}.
|
||||
@@ -68,7 +68,7 @@ The first 15 slots (or 14 slots if not MCS) contain specific capabilities as lis
|
||||
|
||||
\section{\label{ch:bootup:bootinfo}BootInfo Frame}
|
||||
|
||||
CNode slots with CPTR \texttt{seL4\_NumInitialCaps} (defined in the seL4
|
||||
CNode slots with CPtr \texttt{seL4\_NumInitialCaps} (defined in the seL4
|
||||
userland library) and above are filled dynamically during
|
||||
bootstrapping. Their exact contents depend on the userland image size,
|
||||
platform configuration (devices) etc. In order to tell the initial thread
|
||||
@@ -84,9 +84,9 @@ capabilities, it also informs the initial thread about
|
||||
the current platform's configuration.
|
||||
|
||||
The type \texttt{seL4\_SlotRegion} is a C struct
|
||||
which contains \texttt{start} and \texttt{end} slot CPTRs. It denotes a region
|
||||
of slots in the initial thread's CNode, starting with CPTR \texttt{start} and with
|
||||
\texttt{end} being the CPTR of the first slot after the region ends, i.e.\
|
||||
which contains \texttt{start} and \texttt{end} slot CPtrs. It denotes a region
|
||||
of slots in the initial thread's CNode, starting with CPtr \texttt{start} and with
|
||||
\texttt{end} being the CPtr of the first slot after the region ends, i.e.\
|
||||
\texttt{end - 1} points to the last slot of the region.
|
||||
|
||||
\begin{table}[htb]
|
||||
|
||||
@@ -392,7 +392,7 @@ of slots and the circular references within it.
|
||||
\subsection{Addressing Capabilities}
|
||||
\label{sec:cap_addressing}
|
||||
|
||||
A capability address is stored in a CPointer (abbreviated CPTR), which
|
||||
A capability address is stored in a CPointer (abbreviated CPtr), which
|
||||
is an unsigned integer variable. Capabilities are addressed in
|
||||
accordance with the translation algorithm described above. Two
|
||||
special cases involve addressing \obj{CNode} capabilities themselves
|
||||
@@ -487,7 +487,7 @@ depend on this.
|
||||
|
||||
\subsection{Invalid Root}
|
||||
|
||||
A CSpace CPTR root (within which a capability was to be looked up)
|
||||
A CSpace CPtr root (within which a capability was to be looked up)
|
||||
is invalid. For example, the capability is not a \obj{CNode} cap.\\ \\
|
||||
|
||||
\begin{tabularx}{\textwidth}{XX}
|
||||
@@ -515,7 +515,7 @@ have sufficient rights. \\ \\
|
||||
\subsection{Depth Mismatch}
|
||||
|
||||
When resolving a capability, a CNode was traversed that resolved more
|
||||
bits than was left to decode in the CPTR or a non-CNode capability was
|
||||
bits than was left to decode in the CPtr or a non-CNode capability was
|
||||
encountered while there were still bits remaining to be looked up. \\ \\
|
||||
|
||||
\begin{tabularx}{\textwidth}{XX}
|
||||
@@ -523,7 +523,7 @@ encountered while there were still bits remaining to be looked up. \\ \\
|
||||
Data & Meaning \\
|
||||
\midrule
|
||||
\ipcbloc{Offset + 0} & \enummem{seL4\_DepthMismatch} \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_BitsLeft} & Bits of CPTR remaining to decode \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_BitsLeft} & Bits of CPtr remaining to decode \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_DepthMismatch\_BitsFound} & Bits that the current CNode being traversed resolved \\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
@@ -532,14 +532,14 @@ encountered while there were still bits remaining to be looked up. \\ \\
|
||||
|
||||
When resolving a capability, a CNode was traversed with a guard size
|
||||
larger than the number of bits remaining or the CNode's guard did not
|
||||
match the next bits of the CPTR being resolved. \\ \\
|
||||
match the next bits of the CPtr being resolved. \\ \\
|
||||
|
||||
\begin{tabularx}{\textwidth}{XX}
|
||||
\toprule
|
||||
Data & Meaning \\
|
||||
\midrule
|
||||
\ipcbloc{Offset + 0} & \enummem{seL4\_GuardMismatch} \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_BitsLeft} & Bits of CPTR remaining to decode \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_BitsLeft} & Bits of CPtr remaining to decode \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_GuardMismatch\_GuardFound} & The CNode's guard \\
|
||||
\ipcbloc{Offset + seL4\_CapFault\_GuardMismatch\_BitsFound} & The CNode's guard size \\
|
||||
\bottomrule
|
||||
|
||||
@@ -57,10 +57,10 @@ manner in which capabilities were received. It is described in
|
||||
\ipcparam{seL4\_CPtr[]}{(in)}{caps}{Capabilities to transfer}
|
||||
\ipcparam{seL4\_CapData\_t[]}{(out)}{badges}{Badges for
|
||||
endpoint capabilities received}
|
||||
\ipcparam{seL4\_CPtr}{}{receiveCNode}{CPTR to a CNode from which to
|
||||
\ipcparam{seL4\_CPtr}{}{receiveCNode}{CPtr to a CNode from which to
|
||||
find
|
||||
the receive slot}
|
||||
\ipcparam{seL4\_CPtr}{}{receiveIndex}{CPTR to the receive slot
|
||||
\ipcparam{seL4\_CPtr}{}{receiveIndex}{CPtr to the receive slot
|
||||
relative to \texttt{receiveCNode}}
|
||||
\ipcparam{seL4\_Word}{}{receiveDepth}{Number of bits of
|
||||
\texttt{receiveIndex} to
|
||||
@@ -99,7 +99,7 @@ the user level stubs provided with the kernel do not do this.
|
||||
\obj{Endpoint}s allow a small amount
|
||||
of data and capabilities (namely the IPC buffer) to be transferred between two
|
||||
threads. \obj{Endpoint} objects are invoked directly using the seL4 system calls
|
||||
described in \autoref{sec:syscalls}.
|
||||
described in \autoref{sec:syscalls}.
|
||||
|
||||
IPC \obj{Endpoints} uses a rendezvous model and as such is
|
||||
synchronous and blocking. An \obj{Endpoint} object may queue
|
||||
@@ -148,7 +148,7 @@ result in transfer of the raw message, without any capability transfer.
|
||||
|
||||
Capabilities to be sent in a message are specified in the sending thread's
|
||||
IPC buffer in the \texttt{caps} field. Each entry in that array is interpreted
|
||||
as a CPTR in the sending thread's capability space. The number of capabilities
|
||||
as a CPtr in the sending thread's capability space. The number of capabilities
|
||||
to send is specified in the \texttt{extraCaps} field of the message tag.
|
||||
|
||||
The receiver specifies the slot
|
||||
|
||||
Reference in New Issue
Block a user