Changeset 80bcaed in mainline for kernel/genarch/include/mm/as_ht.h
- Timestamp:
- 2007-02-03T13:22:24Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f619ec11
- Parents:
- fa8e7d2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/mm/as_ht.h
rfa8e7d2 r80bcaed 37 37 38 38 #include <mm/mm.h> 39 #include <arch/mm/asid.h>40 39 #include <adt/list.h> 41 #include <adt/btree.h> 42 #include <synch/mutex.h> 43 44 /** Address space structure. 45 * 46 * as_t contains the list of as_areas of userspace accessible 47 * pages for one or more tasks. Ranges of kernel memory pages are not 48 * supposed to figure in the list as they are shared by all tasks and 49 * set up during system initialization. 50 */ 51 typedef struct { 52 /** Protected by asidlock. */ 53 link_t inactive_as_with_asid_link; 54 55 mutex_t lock; 56 57 /** Number of references (i.e tasks that reference this as). */ 58 count_t refcount; 59 60 /** Number of processors on wich is this address space active. */ 61 count_t cpu_refcount; 62 63 /** B+tree of address space areas. */ 64 btree_t as_area_btree; 65 66 /** Address space identifier. Constant on architectures that do not support ASIDs.*/ 67 asid_t asid; 68 69 /** Architecture specific content. */ 70 as_arch_t arch; 71 } as_t; 40 #include <arch/types.h> 72 41 73 42 typedef struct { 43 } as_genarch_t; 44 45 struct as; 46 47 typedef struct pte { 74 48 link_t link; /**< Page hash table link. */ 75 as_t*as; /**< Address space. */49 struct as *as; /**< Address space. */ 76 50 uintptr_t page; /**< Virtual memory page. */ 77 51 uintptr_t frame; /**< Physical memory frame. */
Note:
See TracChangeset
for help on using the changeset viewer.