manual: remove hard-coded ASID invocations
- move documentation to API ref - create tables pointing to the API ref for these objects
This commit is contained in:
parent
d0f69f8ff5
commit
56abae43fb
4 changed files with 32 additions and 28 deletions
|
|
@ -189,7 +189,9 @@
|
|||
Create an ASID Pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/>.</docref>
|
||||
Together with a capability to <texttt text="Untyped Memory"/>, which is passed as an argument,
|
||||
create an <texttt text="ASID Pool"/>. The untyped capability must represent a
|
||||
4K memory object. This will create an ASID pool with enough space for 1024 VSpaces.
|
||||
</description>
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
description="Capability to an untyped memory object that will become the pool. Must be 4K bytes."/>
|
||||
|
|
@ -209,7 +211,7 @@
|
|||
Assign an ASID Pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/>.</docref>
|
||||
Assigns an ASID to the VSpace associated with the <texttt text="Page Directory"/> passed in as an argument.
|
||||
</description>
|
||||
<param dir="in" name="vroot" type="seL4_CPtr"
|
||||
description="The page directory that is being assigned to an ASID pool. Must not already be assigned to an ASID pool."/>
|
||||
|
|
|
|||
|
|
@ -144,7 +144,9 @@
|
|||
Create an ASID Pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/>.</docref>
|
||||
Together with a capability to <texttt text="Untyped Memory"/>, which is passed as an argument,
|
||||
create an <texttt text="ASID Pool"/>. The untyped capability must represent a
|
||||
4K memory object. This will create an ASID pool with enough space for 1024 VSpaces.
|
||||
</description>
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
description="Capability to an untyped memory object that will become the pool. Must be 4K bytes."/>
|
||||
|
|
@ -163,7 +165,7 @@
|
|||
Assign an ASID Pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/>.</docref>
|
||||
Assigns an ASID to the VSpace associated with the <texttt text="Page Directory"/> passed in as an argument.
|
||||
</description>
|
||||
<param dir="in" name="vroot" type="seL4_CPtr">
|
||||
<description>
|
||||
|
|
|
|||
|
|
@ -217,7 +217,9 @@
|
|||
Create an X86 ASID pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/></docref>
|
||||
Together with a capability to <texttt text="Untyped Memory"/>, which is passed as an argument,
|
||||
create an <texttt text="ASID Pool"/>. The untyped capability must represent a
|
||||
4K memory object. This will create an ASID pool with enough space for 1024 VSpaces.
|
||||
</description>
|
||||
<cap_param append_description='The master ASIDControl capability.'/>
|
||||
<param dir="in" name="untyped" type="seL4_Untyped"
|
||||
|
|
@ -237,7 +239,7 @@
|
|||
Assign an ASID pool.
|
||||
</brief>
|
||||
<description>
|
||||
<docref>See <autoref label="ch:vspace"/></docref>
|
||||
Assigns an ASID to the VSpace associated with the <texttt text="Page Directory"/> passed in as an argument.
|
||||
</description>
|
||||
<cap_param append_description='The ASID pool which is being assigned to. Must not be full. Each ASID pool can contain 1024 entries.'/>
|
||||
<param dir="in" name="vroot" type="seL4_CPtr" description='The page directory that is being assigned to an ASID pool. Must not already be assigned to an ASID pool.'/>
|
||||
|
|
|
|||
|
|
@ -164,34 +164,32 @@ this limited resource, the microkernel provides an \obj{ASID Control}
|
|||
capability. The \obj{ASID Control} capability is used to generate a
|
||||
capability that authorises the use of a subset of available address-space identifiers.
|
||||
This newly created capability is called an
|
||||
\obj{ASID Pool}. \obj{ASID Control} only has a single method:
|
||||
\vspace{2ex}\\
|
||||
\vmfunc{
|
||||
\apifunc{seL4\_ARM\_ASIDControl\_MakePool}{arm_asidcontrol_makepool}\\
|
||||
\ifxeightsix\apifunc{seL4\_x86\_ASIDControl\_MakePool}{x86_ASID_controlmakepool}\fi
|
||||
}{
|
||||
Together with a capability to
|
||||
\obj{Untyped Memory} as argument creates an \obj{ASID Pool}.
|
||||
}\vspace{2ex}
|
||||
\obj{ASID Pool}. \obj{ASID Control} only has a single \texttt{MakePool} method for each
|
||||
architecture, listed in the table below.
|
||||
|
||||
The untyped
|
||||
capability given to the \apifunc{seL4\_ARM\_ASIDControl\_MakePool}{arm_asidcontrol_makepool} call must represent a 4K memory object.
|
||||
This will create an ASID pool with enough space for 1024 VSpaces.
|
||||
\begin{tabularx}{\textwidth}{Xl} \toprule
|
||||
\emph{Architectures} & \emph{Methods} \\ \midrule
|
||||
IA32, X64 & \autoref{group__x86__seL4__X86__ASIDControl} \\
|
||||
AArch32, AArch64 & \autoref{group__arm__seL4__ARM__ASIDControl} \\
|
||||
RISC-V & \autoref{group__riscv__seL4__RISCV__ASIDControl} \\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\paragraph{\obj{ASID Pool}}
|
||||
\subsection{ASID Pool}
|
||||
|
||||
An \obj{ASID Pool} confers the right to create a subset of the available
|
||||
maximum applications. For a VSpace to be usable by an application, it
|
||||
must be assigned to an ASID. This is done using a capability to an
|
||||
\obj{ASID Pool}. The \obj{ASID Pool} object has a single method:
|
||||
\vspace{2ex}\\
|
||||
\vmfunc{
|
||||
\apifunc{seL4\_ARM\_ASIDPool\_Assign}{arm_asidpool_assign}\\
|
||||
\ifxeightsix\apifunc{seL4\_x86\_ASIDPool\_Assign}{x86_asidpool_assign}\fi
|
||||
}{
|
||||
Assigns an ASID to the VSpace
|
||||
associated with the \obj{Page Directory} passed in as an argument.
|
||||
}
|
||||
\obj{ASID Pool}. The \obj{ASID Pool} object has a single method, \texttt{Assign}, for each
|
||||
architecture:
|
||||
|
||||
\begin{tabularx}{\textwidth}{Xl} \toprule
|
||||
\emph{Architectures} & \emph{Methods} \\ \midrule
|
||||
IA32, X64 & \autoref{group__x86__seL4__X86__ASIDPool} \\
|
||||
AArch32, AArch64 & \autoref{group__arm__seL4__ARM__ASIDPool} \\
|
||||
RISC-V & \autoref{group__riscv__seL4__RISCV__ASIDPool} \\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
|
||||
\section{Mapping Attributes}
|
||||
A parameter of type \texttt{seL4\_ARM\_VMAttributes} or
|
||||
|
|
|
|||
Loading…
Reference in a new issue