Changeset 2fc3b2d in mainline for kernel/generic/include/mm/as.h
- Timestamp:
- 2018-12-10T11:15:10Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 247fdea
- Parents:
- de9a18e
- git-author:
- Jiri Svoboda <jiri@…> (2018-12-05 18:39:06)
- git-committer:
- jxsvoboda <5887334+jxsvoboda@…> (2018-12-10 11:15:10)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/mm/as.h
rde9a18e r2fc3b2d 45 45 #include <synch/mutex.h> 46 46 #include <adt/list.h> 47 #include <adt/btree.h>48 47 #include <adt/odict.h> 49 48 #include <lib/elf.h> … … 158 157 } as_pagemap_t; 159 158 159 /** Used space interval */ 160 typedef struct { 161 /** Containing used_space structure */ 162 struct used_space *used_space; 163 /** Link to @c used_space->ivals */ 164 odlink_t lused_space; 165 /** First page address */ 166 uintptr_t page; 167 /** Count of pages */ 168 size_t count; 169 } used_space_ival_t; 170 171 /** Map of used space in an address space area */ 172 typedef struct used_space { 173 /** 174 * Dictionary of intervals by start address. 175 * Members are of type @c used_space_ival_t. 176 */ 177 odict_t ivals; 178 /** Total number of used pages. */ 179 size_t pages; 180 } used_space_t; 181 160 182 /** 161 183 * This structure contains information associated with the shared address space … … 240 262 size_t pages; 241 263 242 /** Number of resident pages in the area. */243 size_t resident;244 245 264 /** Base address of this area. */ 246 265 uintptr_t base; 247 266 248 267 /** Map of used space. */ 249 btree_t used_space;268 used_space_t used_space; 250 269 251 270 /** … … 313 332 extern bool as_area_check_access(as_area_t *, pf_access_t); 314 333 extern size_t as_area_get_size(uintptr_t); 315 extern bool used_space_insert(as_area_t *, uintptr_t, size_t); 316 extern bool used_space_remove(as_area_t *, uintptr_t, size_t); 334 extern used_space_ival_t *used_space_first(used_space_t *); 335 extern used_space_ival_t *used_space_next(used_space_ival_t *); 336 extern used_space_ival_t *used_space_find_gteq(used_space_t *, uintptr_t); 337 extern bool used_space_insert(used_space_t *, uintptr_t, size_t); 317 338 318 339 /* Interface to be implemented by architectures. */
Note:
See TracChangeset
for help on using the changeset viewer.