diff --git a/libsel4/arch_include/arm/interfaces/sel4arch.xml b/libsel4/arch_include/arm/interfaces/sel4arch.xml index e26ecad2a..7df71baaf 100644 --- a/libsel4/arch_include/arm/interfaces/sel4arch.xml +++ b/libsel4/arch_include/arm/interfaces/sel4arch.xml @@ -11,13 +11,33 @@ @TAG(DATA61_BSD) --> - + - - - + + Map a page table into an address space. + + + See + + + + + + VM Attributes for the mapping. Possible values for this type are given + in . + + + + Unmap a page table from its address space and zero it out. + + + See . + @@ -28,57 +48,172 @@ - + - - - - + + Map a page into an address space. + + + See . + + + + + + 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 . + + - - - + + Remap a page. + + + See . + + + + + 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. + + + See . + - + + + + + + - - + + 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. + + + See . + + + + + - + - + + Assign an ASID Pool. + + + See . + + diff --git a/manual/parts/api/arm_asidcontrol_makepool.tex b/manual/parts/api/arm_asidcontrol_makepool.tex deleted file mode 100644 index f05f9842c..000000000 --- a/manual/parts/api/arm_asidcontrol_makepool.tex +++ /dev/null @@ -1,24 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_asidcontrol_makepool} -{ARM ASID Control - Make Pool} -{Create an ASID Pool} -{static inline int seL4\_ARM\_ASIDControl\_MakePool} -{ -\param{seL4\_ARM\_ASIDControl}{\_service}{The master ASIDControl capability.} -\param{seL4\_Untyped}{untyped}{Capability to an untyped memory object that will become the pool. Must be 4K bytes.} -\param{seL4\_CNode}{root}{\destcspacedesc} -\param{seL4\_Word}{index}{\destindexdesc} -\param{uint8\_t}{depth}{Number of bits of index to resolve to find the destination slot.} -} -{\errorenumdesc} -{See Chapter \ref{ch:vspace}} diff --git a/manual/parts/api/arm_asidpool_assign.tex b/manual/parts/api/arm_asidpool_assign.tex deleted file mode 100644 index 8fc0b1aae..000000000 --- a/manual/parts/api/arm_asidpool_assign.tex +++ /dev/null @@ -1,21 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_asidpool_assign} -{ARM ASID Pool - Assign} -{Assign an ASID Pool} -{static inline int seL4\_ARM\_ASIDPool\_Assign} -{ -\param{seL4\_ARM\_ASIDPool}{\_service}{\asidassignpooldesc} -\param{seL4\_ARM\_PageDirectory}{vroot}{\asidassignpddesc} -} -{\errorenumdesc} -{See Chapter \ref{ch:vspace}} diff --git a/manual/parts/api/arm_page_cleandata.tex b/manual/parts/api/arm_page_cleandata.tex deleted file mode 100644 index 0620b6b78..000000000 --- a/manual/parts/api/arm_page_cleandata.tex +++ /dev/null @@ -1,23 +0,0 @@ -% -% Copyright 2016, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_cleandata} -{ARM Page - Clean Data} -{Cleans the data cache out to RAM. The start and end are relative to the page being serviced.} -{static inline int seL4\_ARM\_Page\_Clean\_Data} -{ -\param{seL4\_ARM\_Page}{\_service}{The page whose contents will be flushed.} -\param{seL4\_Word}{start\_offset}{The offset, relative to the start of the page inclusive.} -\param{seL4\_Word}{end\_offset}{The offset, relative to the start of the page exclusive.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_page_cleaninvalidatedata.tex b/manual/parts/api/arm_page_cleaninvalidatedata.tex deleted file mode 100644 index c570f252c..000000000 --- a/manual/parts/api/arm_page_cleaninvalidatedata.tex +++ /dev/null @@ -1,23 +0,0 @@ -% -% Copyright 2016, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_cleaninvalidatedata} -{ARM Page - Clean and Invalidate Data} -{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.} -{static inline int seL4\_ARM\_Page\_CleanInvalidate\_Data} -{ -\param{seL4\_ARM\_Page}{\_service}{The page whose contents will be flushed.} -\param{seL4\_Word}{start\_offset}{The offset, relative to the start of the page inclusive.} -\param{seL4\_Word}{end\_offset}{The offset, relative to the start of the page exclusive.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_page_getaddress.tex b/manual/parts/api/arm_page_getaddress.tex deleted file mode 100644 index 80138d939..000000000 --- a/manual/parts/api/arm_page_getaddress.tex +++ /dev/null @@ -1,20 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_getaddress} -{ARM Page - Get Address} -{Get the physical address of the underlying frame} -{static inline seL4\_ARM\_Page\_GetAddress\_t seL4\_ARM\_Page\_GetAddress} -{ -\param{seL4\_ARM\_Page}{\_service}{Capability to the page to lookup.} -} -{A seL4\_ARM\_Page\_GetAddress\_t \pagegetaddresstdesc} -{See \autoref{ch:vspace}} diff --git a/manual/parts/api/arm_page_invalidatedata.tex b/manual/parts/api/arm_page_invalidatedata.tex deleted file mode 100644 index 6c623515d..000000000 --- a/manual/parts/api/arm_page_invalidatedata.tex +++ /dev/null @@ -1,26 +0,0 @@ -% -% Copyright 2016, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_invalidatedata} -{ARM Page - Invalidate Data} -{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.} -{static inline int seL4\_ARM\_Page\_Invalidate\_Data} -{ -\param{seL4\_ARM\_Page}{\_service}{The page whose contents will be flushed.} -\param{seL4\_Word}{start\_offset}{The offset, relative to the start of the page inclusive.} -\param{seL4\_Word}{end\_offset}{The offset, relative to the start of the page exclusive.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_page_map.tex b/manual/parts/api/arm_page_map.tex deleted file mode 100644 index ad985d5a2..000000000 --- a/manual/parts/api/arm_page_map.tex +++ /dev/null @@ -1,24 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_map} -{ARM Page - Map} -{Map a page into an address space} -{static inline int seL4\_ARM\_Page\_Map} -{ -\param{seL4\_ARM\_Page}{\_service}{\pagecapdesc} -\param{seL4\_ARM\_PageDirectory}{pd}{\pdcapdesc} -\param{seL4\_Word}{vaddr}{\vaddrdesc} -\param{seL4\_CapRights}{rights}{\vmcaprightsdesc} -\param{seL4\_ARM\_VMAttributes}{attr}{\vmattribsdescarm} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} diff --git a/manual/parts/api/arm_page_remap.tex b/manual/parts/api/arm_page_remap.tex deleted file mode 100644 index 59bbca0b7..000000000 --- a/manual/parts/api/arm_page_remap.tex +++ /dev/null @@ -1,24 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_remap} -{ARM Page - Remap} -{Remap a page} -{static inline int seL4\_ARM\_Page\_Remap} -{ -\param{seL4\_ARM\_Page}{\_service}{Capability to the page to remap.} -\param{seL4\_ARM\_PageDirectory}{pd}{\pdcapdesc} -\param{seL4\_CapRights}{rights}{\vmcaprightsdesc} -\param{seL4\_ARM\_VMAttributes}{attr}{\vmattribsdescarm} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_page_unifyinstruction.tex b/manual/parts/api/arm_page_unifyinstruction.tex deleted file mode 100644 index be8d6e9fa..000000000 --- a/manual/parts/api/arm_page_unifyinstruction.tex +++ /dev/null @@ -1,26 +0,0 @@ -% -% Copyright 2016, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_unifyinstruction} -{ARM Page - Unify Instruction Cache} -{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.} -{static inline int seL4\_ARM\_Page\_Unify\_Instruction} -{ -\param{seL4\_ARM\_Page}{\_service}{The page whose contents will be flushed.} -\param{seL4\_Word}{start\_offset}{The offset, relative to the start of the page inclusive.} -\param{seL4\_Word}{end\_offset}{The offset, relative to the start of the page exclusive.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_page_unmap.tex b/manual/parts/api/arm_page_unmap.tex deleted file mode 100644 index 3527abdca..000000000 --- a/manual/parts/api/arm_page_unmap.tex +++ /dev/null @@ -1,21 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_page_unmap} -{ARM Page - Unmap} -{Unmap a page} -{static inline int seL4\_ARM\_Page\_Unmap} -{ -\param{seL4\_ARM\_Page}{\_service}{Capability to the page to unmap.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_pagetable_map.tex b/manual/parts/api/arm_pagetable_map.tex deleted file mode 100644 index 34f2ac1f2..000000000 --- a/manual/parts/api/arm_pagetable_map.tex +++ /dev/null @@ -1,24 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_pagetable_map} -{ARM Page Table - Map} -{Map a page table into an address space} -{static inline int seL4\_ARM\_PageTable\_Map} -{ -\param{seL4\_ARM\_PageTable}{\_service}{Capability to the page table that will be mapped.} -\param{seL4\_ARM\_PageDirectory}{pd}{\pdcapdesc} -\param{seL4\_Word}{vaddr}{\vaddrdesc} -\param{seL4\_ARM\_VMAttributes}{attr}{\vmattribsdescarm} -} -{\errorenumdesc} -{See \autoref{ch:vspace}} - diff --git a/manual/parts/api/arm_pagetable_unmap.tex b/manual/parts/api/arm_pagetable_unmap.tex deleted file mode 100644 index b4a30d3cc..000000000 --- a/manual/parts/api/arm_pagetable_unmap.tex +++ /dev/null @@ -1,20 +0,0 @@ -% -% Copyright 2014, General Dynamics C4 Systems -% -% This software may be distributed and modified according to the terms of -% the GNU General Public License version 2. Note that NO WARRANTY is provided. -% See "LICENSE_GPLv2.txt" for details. -% -% @TAG(GD_GPL) -% - -\apidoc -{arm_pagetable_unmap} -{ARM Page Table - Unmap} -{Unmap a page table from its address space and zero it out} -{static inline int seL4\_ARM\_PageTable\_Unmap} -{ -\param{seL4\_ARM\_PageTable}{\_service}{Capability to the page table that will be unmapped.} -} -{\errorenumdesc} -{See \autoref{ch:vspace}}