Subversion Repositories Kolibri OS

Rev

Rev 5270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5270 Rev 6082
Line 6... Line 6...
6
#include 
6
#include 
Line 7... Line 7...
7
 
7
 
8
/*
8
/*
9
 * The set_memory_* API can be used to change various attributes of a virtual
9
 * The set_memory_* API can be used to change various attributes of a virtual
10
 * address range. The attributes include:
10
 * address range. The attributes include:
11
 * Cachability   : UnCached, WriteCombining, WriteBack
11
 * Cachability   : UnCached, WriteCombining, WriteThrough, WriteBack
12
 * Executability : eXeutable, NoteXecutable
12
 * Executability : eXeutable, NoteXecutable
13
 * Read/Write    : ReadOnly, ReadWrite
13
 * Read/Write    : ReadOnly, ReadWrite
14
 * Presence      : NotPresent
14
 * Presence      : NotPresent
15
 *
15
 *
Line 33... Line 33...
33
 * The caller is required to take care of these.
33
 * The caller is required to take care of these.
34
 */
34
 */
Line 35... Line 35...
35
 
35
 
36
int _set_memory_uc(unsigned long addr, int numpages);
36
int _set_memory_uc(unsigned long addr, int numpages);
-
 
37
int _set_memory_wc(unsigned long addr, int numpages);
37
int _set_memory_wc(unsigned long addr, int numpages);
38
int _set_memory_wt(unsigned long addr, int numpages);
38
int _set_memory_wb(unsigned long addr, int numpages);
39
int _set_memory_wb(unsigned long addr, int numpages);
39
int set_memory_uc(unsigned long addr, int numpages);
40
int set_memory_uc(unsigned long addr, int numpages);
-
 
41
int set_memory_wc(unsigned long addr, int numpages);
40
int set_memory_wc(unsigned long addr, int numpages);
42
int set_memory_wt(unsigned long addr, int numpages);
41
int set_memory_wb(unsigned long addr, int numpages);
43
int set_memory_wb(unsigned long addr, int numpages);
42
int set_memory_x(unsigned long addr, int numpages);
44
int set_memory_x(unsigned long addr, int numpages);
43
int set_memory_nx(unsigned long addr, int numpages);
45
int set_memory_nx(unsigned long addr, int numpages);
44
int set_memory_ro(unsigned long addr, int numpages);
46
int set_memory_ro(unsigned long addr, int numpages);
45
int set_memory_rw(unsigned long addr, int numpages);
47
int set_memory_rw(unsigned long addr, int numpages);
46
int set_memory_np(unsigned long addr, int numpages);
48
int set_memory_np(unsigned long addr, int numpages);
Line 47... Line 49...
47
int set_memory_4k(unsigned long addr, int numpages);
49
int set_memory_4k(unsigned long addr, int numpages);
48
 
50
 
-
 
51
int set_memory_array_uc(unsigned long *addr, int addrinarray);
49
int set_memory_array_uc(unsigned long *addr, int addrinarray);
52
int set_memory_array_wc(unsigned long *addr, int addrinarray);
Line 50... Line 53...
50
int set_memory_array_wc(unsigned long *addr, int addrinarray);
53
int set_memory_array_wt(unsigned long *addr, int addrinarray);
51
int set_memory_array_wb(unsigned long *addr, int addrinarray);
54
int set_memory_array_wb(unsigned long *addr, int addrinarray);
-
 
55
 
52
 
56
int set_pages_array_uc(struct page **pages, int addrinarray);
Line 53... Line 57...
53
int set_pages_array_uc(struct page **pages, int addrinarray);
57
int set_pages_array_wc(struct page **pages, int addrinarray);
54
int set_pages_array_wc(struct page **pages, int addrinarray);
58
int set_pages_array_wt(struct page **pages, int addrinarray);
55
int set_pages_array_wb(struct page **pages, int addrinarray);
59
int set_pages_array_wb(struct page **pages, int addrinarray);
Line 103... Line 107...
103
{
107
{
104
    return 0;
108
    return 0;
105
};
109
};
Line 106... Line -...
106
 
-
 
107
 
110
 
Line -... Line 111...
-
 
111
 
-
 
112
void clflush_cache_range(void *addr, unsigned int size);
108
 
113
 
109
void clflush_cache_range(void *addr, unsigned int size);
114
#define mmio_flush_range(addr, size) clflush_cache_range(addr, size)
110
 
115
 
111
#ifdef CONFIG_DEBUG_RODATA
116
#ifdef CONFIG_DEBUG_RODATA
112
void mark_rodata_ro(void);
117
void mark_rodata_ro(void);