1<?xml version="1.0" ?>
2<!--
3  Copyright 2017, Data61
4  Commonwealth Scientific and Industrial Research Organisation (CSIRO)
5  ABN 41 687 119 230.
6
7  This software may be distributed and modified according to the terms of
8  the BSD 2-Clause license. Note that NO WARRANTY is provided.
9  See "LICENSE_BSD2.txt" for details.
10
11     @TAG(DATA61_BSD)
12  -->
13<api name="ObjectApiAarch32" label_prefix="aarch32_">
14    <struct name="seL4_UserContext">
15        <member name="pc"/>
16        <member name="sp"/>
17        <member name="cpsr"/>
18        <member name="r0"/>
19        <member name="r1"/>
20        <member name="r8"/>
21        <member name="r9"/>
22        <member name="r10"/>
23        <member name="r11"/>
24        <member name="r12"/>
25        <member name="r2"/>
26        <member name="r3"/>
27        <member name="r4"/>
28        <member name="r5"/>
29        <member name="r6"/>
30        <member name="r7"/>
31        <member name="r14"/>
32    </struct>
33    <interface name="seL4_ARM_PageDirectory" manual_name="Page Directory">
34        <method id="ARMPDClean_Data" name="Clean_Data" manual_name="Clean Data" manual_label="pd_clean">
35                <brief>
36                    Clean cached pages within a page directory
37                </brief>
38                <description>
39                    <docref>See <autoref label="ch:vspace"/>.</docref>
40                </description>
41            <param dir="in" name="start" type="seL4_Word"
42            description="Start address"/>
43            <param dir="in" name="end" type="seL4_Word"
44            description="End address"/>
45        </method>
46        <method id="ARMPDInvalidate_Data" name="Invalidate_Data" manual_name="Invalidate Data" manual_label="pd_invalidate">
47                <brief>
48                    Invalidate cached pages within a page directory
49                </brief>
50             <description>
51                 <docref>See <autoref label="ch:vspace"/>.</docref>
52             </description>
53            <param dir="in" name="start" type="seL4_Word"
54            description="Start address"/>
55            <param dir="in" name="end" type="seL4_Word"
56            description="End address"/>
57        </method>
58        <method id="ARMPDCleanInvalidate_Data" name="CleanInvalidate_Data"
59            manual_name="Clean and Invalidate Data" manual_label="pd_clean_invalidate">
60                <brief>
61                    Clean and invalidate cached pages within a page directory
62                </brief>
63             <description>
64                 <docref>See <autoref label="ch:vspace"/>.</docref>
65             </description>
66            <param dir="in" name="start" type="seL4_Word"
67            description="Start address"/>
68            <param dir="in" name="end" type="seL4_Word"
69            description="End address"/>
70        </method>
71        <method id="ARMPDUnify_Instruction" name="Unify_Instruction" manual_name="Unify Instruction" manual_label="pd_unify_instruction">
72                <brief>
73                    Clean and invalidate cached instruction pages to point of unification
74                </brief>
75             <description>
76                 <docref>See <autoref label="ch:vspace"/>.</docref>
77             </description>
78            <param dir="in" name="start" type="seL4_Word"
79            description="Start address"/>
80            <param dir="in" name="end" type="seL4_Word"
81            description="End address"/>
82        </method>
83    </interface>
84</api>
85