This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / Documentation / arm / XScale / tlb-lock.txt
1
2 Intel's XScale Microarchitecture provides support for locking of TLB
3 entries in both the instruction and data TLBs.  This  file provides
4 an overview of the API that has been developed to take advantage of this
5 feature from kernel space. Note that there is NO support for user space.
6
7 In general, this feature should be used in conjunction with locking
8 data or instructions into the appropriate caches.  See the file
9 cache-lock.txt in this directory.
10
11 If you have any questions, comments, patches, etc, please contact me.
12
13 Deepak Saxena <dsaxena@mvista.com>
14
15
16 API DESCRIPTION
17
18 I. Header file
19
20    #include <asm/xscale-lock.h>
21
22 II. Locking an entry into the TLB
23
24     SYNOPSIS
25
26     xscale_tlb_lock(u8 tlb_type, u32 addr);
27
28     /*
29      * TLB types
30      */
31     #define ITLB        0x0
32     #define DTLB        0x1
33
34     DESCRIPTION
35
36     This function locks the virtual to physical mapping for virtual
37     address addr into the requested TLB.
38
39     RETURN VALUE
40
41     If the entry is properly locked into the TLB, a 0 is returned.
42     In case of an error, an appropriate error is returned.
43
44        -ENOSPC No more entries left in the TLB
45        -EIO    Unknown error
46
47 III. Unlocking an entry from a TLB
48
49      SYNOPSIS
50
51      xscale_tlb_unlock(u8 tlb_type, u32 addr);
52
53      DESCRIPTION
54
55      This function unlocks the entry for virtual address addr from the
56      specified cache.
57
58      RETURN VALUE
59
60      If the TLB entry is properly unlocked, a 0 is returned.
61      In case of an error, an appropriate error is returned.
62
63         -ENOENT  No entry for given address in specified TLB
64