Changeset 89c57b6 in mainline for kernel/generic/include/mm/as.h
- Timestamp:
- 2011-04-13T14:45:41Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 88634420
- Parents:
- cefb126 (diff), 17279ead (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
rcefb126 r89c57b6 115 115 116 116 /** 117 * Number of processors on wich is this address space active. 118 * Protected by asidlock. 117 * Number of processors on which this 118 * address space is active. Protected by 119 * asidlock. 119 120 */ 120 121 size_t cpu_refcount; 121 122 122 /** 123 * Address space identifier. 124 * Constant on architectures that do not support ASIDs. 125 * Protected by asidlock. 123 /** Address space identifier. 124 * 125 * Constant on architectures that do not 126 * support ASIDs. Protected by asidlock. 127 * 126 128 */ 127 129 asid_t asid; 128 130 129 /** Number of references (i.e tasks that reference this as). */131 /** Number of references (i.e. tasks that reference this as). */ 130 132 atomic_t refcount; 131 133 … … 171 173 PF_ACCESS_READ, 172 174 PF_ACCESS_WRITE, 173 PF_ACCESS_EXEC 175 PF_ACCESS_EXEC, 176 PF_ACCESS_UNKNOWN 174 177 } pf_access_t; 175 178 … … 198 201 typedef struct { 199 202 mutex_t lock; 203 200 204 /** Containing address space. */ 201 205 as_t *as; 202 206 203 /** 204 * Flags related to the memory represented by the address space area. 205 */ 207 /** Memory flags. */ 206 208 unsigned int flags; 207 209 208 /** A ttributes related to the address space area itself. */210 /** Address space area attributes. */ 209 211 unsigned int attributes; 210 /** Size of this area in multiples of PAGE_SIZE. */ 212 213 /** Number of pages in the area. */ 211 214 size_t pages; 215 216 /** Number of resident pages in the area. */ 217 size_t resident; 218 212 219 /** Base address of this area. */ 213 220 uintptr_t base; 221 214 222 /** Map of used space. */ 215 223 btree_t used_space; 216 224 217 225 /** 218 * If the address space area has been shared, this pointer will219 * referencethe share info structure.226 * If the address space area is shared. this is 227 * a reference to the share info structure. 220 228 */ 221 229 share_info_t *sh_info; … … 260 268 extern bool as_area_check_access(as_area_t *, pf_access_t); 261 269 extern size_t as_area_get_size(uintptr_t); 262 extern int used_space_insert(as_area_t *, uintptr_t, size_t); 263 extern int used_space_remove(as_area_t *, uintptr_t, size_t); 264 270 extern bool used_space_insert(as_area_t *, uintptr_t, size_t); 271 extern bool used_space_remove(as_area_t *, uintptr_t, size_t); 265 272 266 273 /* Interface to be implemented by architectures. */ … … 302 309 303 310 /* Address space area related syscalls. */ 304 extern unative_t sys_as_area_create(uintptr_t, size_t, unsigned int); 305 extern unative_t sys_as_area_resize(uintptr_t, size_t, unsigned int); 306 extern unative_t sys_as_area_change_flags(uintptr_t, unsigned int); 307 extern unative_t sys_as_area_destroy(uintptr_t); 311 extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int); 312 extern sysarg_t sys_as_area_resize(uintptr_t, size_t, unsigned int); 313 extern sysarg_t sys_as_area_change_flags(uintptr_t, unsigned int); 314 extern sysarg_t sys_as_area_destroy(uintptr_t); 315 extern sysarg_t sys_as_get_unmapped_area(uintptr_t, size_t); 308 316 309 317 /* Introspection functions. */
Note:
See TracChangeset
for help on using the changeset viewer.