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