seL4/libsel4/arch_include/arm/interfaces/sel4arch.xml
2014-07-18 15:14:00 +10:00

106 lines
3.8 KiB
XML

<?xml version="1.0" ?>
<!--
Copyright 2014, NICTA
This software may be distributed and modified according to the terms of
the BSD 2-Clause license. Note that NO WARRANTY is provided.
See "LICENSE_BSD2.txt" for details.
@TAG(NICTA_BSD)
-->
<api>
<registers>
<register name="PC"/>
<register name="SP"/>
<register name="CPSR"/>
<register name="R0"/>
<register name="R1"/>
<register name="R8"/>
<register name="R9"/>
<register name="R10"/>
<register name="R11"/>
<register name="R12"/>
<register name="R2"/>
<register name="R3"/>
<register name="R4"/>
<register name="R5"/>
<register name="R6"/>
<register name="R7"/>
<register name="R14"/>
</registers>
<interface name="seL4_ARM_PageDirectory"/>
<interface name="seL4_ARM_PageDirectory">
<method id="ARMPDClean_Data" name="Clean_Data">
<param dir="in" name="start" type="seL4_Word"/>
<param dir="in" name="end" type="seL4_Word"/>
</method>
<method id="ARMPDInvalidate_Data" name="Invalidate_Data">
<param dir="in" name="start" type="seL4_Word"/>
<param dir="in" name="end" type="seL4_Word"/>
</method>
<method id="ARMPDCleanInvalidate_Data" name="CleanInvalidate_Data">
<param dir="in" name="start" type="seL4_Word"/>
<param dir="in" name="end" type="seL4_Word"/>
</method>
<method id="ARMPDUnify_Instruction" name="Unify_Instruction">
<param dir="in" name="start" type="seL4_Word"/>
<param dir="in" name="end" type="seL4_Word"/>
</method>
</interface>
<interface name="seL4_ARM_PageTable">
<method id="ARMPageTableMap" name="Map">
<param dir="in" name="pd" type="seL4_ARM_PageDirectory"/>
<param dir="in" name="vaddr" type="seL4_Word"/>
<param dir="in" name="attr" type="seL4_ARM_VMAttributes"/>
</method>
<method id="ARMPageTableUnmap" name="Unmap">
</method>
</interface>
<interface name="seL4_ARM_Page">
<method id="ARMPageMap" name="Map">
<param dir="in" name="pd" type="seL4_ARM_PageDirectory"/>
<param dir="in" name="vaddr" type="seL4_Word"/>
<param dir="in" name="rights" type="seL4_CapRights"/>
<param dir="in" name="attr" type="seL4_ARM_VMAttributes"/>
</method>
<method id="ARMPageRemap" name="Remap">
<param dir="in" name="pd" type="seL4_ARM_PageDirectory"/>
<param dir="in" name="rights" type="seL4_CapRights"/>
<param dir="in" name="attr" type="seL4_ARM_VMAttributes"/>
</method>
<method id="ARMPageUnmap" name="Unmap"/>
<method id="ARMPageClean_Data" name="Clean_Data">
<param dir="in" name="start_offset" type="seL4_Word"/>
<param dir="in" name="end_offset" type="seL4_Word"/>
</method>
<method id="ARMPageInvalidate_Data" name="Invalidate_Data">
<param dir="in" name="start_offset" type="seL4_Word"/>
<param dir="in" name="end_offset" type="seL4_Word"/>
</method>
<method id="ARMPageCleanInvalidate_Data" name="CleanInvalidate_Data">
<param dir="in" name="start_offset" type="seL4_Word"/>
<param dir="in" name="end_offset" type="seL4_Word"/>
</method>
<method id="ARMPageUnify_Instruction" name="Unify_Instruction">
<param dir="in" name="start_offset" type="seL4_Word"/>
<param dir="in" name="end_offset" type="seL4_Word"/>
</method>
<method id="ARMPageGetAddress" name="GetAddress">
<param dir="out" name="paddr" type="seL4_Word"/>
</method>
</interface>
<interface name="seL4_ARM_ASIDControl">
<method id="ARMASIDControlMakePool" name="MakePool">
<param dir="in" name="untyped" type="seL4_Untyped"/>
<param dir="in" name="root" type="seL4_CNode"/>
<param dir="in" name="index" type="seL4_Word"/>
<param dir="in" name="depth" type="uint8_t"/>
</method>
</interface>
<interface name="seL4_ARM_ASIDPool">
<method id="ARMASIDPoolAssign" name="Assign">
<param dir="in" name="vroot" type="seL4_ARM_PageDirectory"/>
</method>
</interface>
</api>