Changeset 80bcaed in mainline for kernel/genarch/include
- 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
- Location:
- kernel/genarch/include/mm
- Files:
-
- 3 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. */ -
kernel/genarch/include/mm/as_pt.h
rfa8e7d2 r80bcaed 37 37 38 38 #include <mm/mm.h> 39 #include <arch/mm/asid.h> 40 #include <adt/list.h> 41 #include <adt/btree.h> 42 #include <synch/mutex.h> 39 #include <arch/types.h> 43 40 44 41 #define AS_PAGE_TABLE 45 42 46 /** Address space structure.47 *48 * as_t contains the list of as_areas of userspace accessible49 * pages for one or more tasks. Ranges of kernel memory pages are not50 * supposed to figure in the list as they are shared by all tasks and51 * set up during system initialization.52 */53 43 typedef struct { 54 /** Protected by asidlock. */55 link_t inactive_as_with_asid_link;56 57 mutex_t lock;58 59 /** Number of references (i.e tasks that reference this as). */60 count_t refcount;61 62 /** Number of processors on wich is this address space active. */63 count_t cpu_refcount;64 65 /** B+tree of address space areas. */66 btree_t as_area_btree;67 68 44 /** Page table pointer. */ 69 45 pte_t *page_table; 70 71 /** Address space identifier. Constant on architectures that do not support ASIDs.*/ 72 asid_t asid; 73 74 /** Architecture specific content. */ 75 as_arch_t arch; 76 } as_t; 46 } as_genarch_t; 77 47 78 48 #endif -
kernel/genarch/include/mm/page_ht.h
rfa8e7d2 r80bcaed 60 60 #define PTE_EXECUTABLE(pte) ((pte)->x != 0) 61 61 62 #define SET_PTL0_ADDRESS(x)63 64 62 extern as_operations_t as_ht_operations; 65 63 extern page_mapping_operations_t ht_mapping_operations;
Note:
See TracChangeset
for help on using the changeset viewer.