Rev 2125 | Rev 2142 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2125 | Rev 2126 | ||
---|---|---|---|
Line 51... | Line 51... | ||
51 | #include <synch/mutex.h> |
51 | #include <synch/mutex.h> |
52 | #include <adt/list.h> |
52 | #include <adt/list.h> |
53 | #include <adt/btree.h> |
53 | #include <adt/btree.h> |
54 | #include <lib/elf.h> |
54 | #include <lib/elf.h> |
55 | 55 | ||
- | 56 | #ifdef __OBJC__ |
|
- | 57 | #include <lib/objc.h> |
|
- | 58 | #endif |
|
- | 59 | ||
56 | /** |
60 | /** |
57 | * Defined to be true if user address space and kernel address space shadow each |
61 | * Defined to be true if user address space and kernel address space shadow each |
58 | * other. |
62 | * other. |
59 | */ |
63 | */ |
60 | #define KERNEL_ADDRESS_SPACE_SHADOWED KERNEL_ADDRESS_SPACE_SHADOWED_ARCH |
64 | #define KERNEL_ADDRESS_SPACE_SHADOWED KERNEL_ADDRESS_SPACE_SHADOWED_ARCH |
Line 79... | Line 83... | ||
79 | #define AS_PF_OK 1 |
83 | #define AS_PF_OK 1 |
80 | /** The page fault was caused by memcpy_from_uspace() or memcpy_to_uspace(). */ |
84 | /** The page fault was caused by memcpy_from_uspace() or memcpy_to_uspace(). */ |
81 | #define AS_PF_DEFER 2 |
85 | #define AS_PF_DEFER 2 |
82 | 86 | ||
83 | #ifdef __OBJC__ |
87 | #ifdef __OBJC__ |
84 | @interface as_t { |
88 | @interface as_t : base_t { |
85 | @public |
89 | @public |
86 | /** Protected by asidlock. */ |
90 | /** Protected by asidlock. */ |
87 | link_t inactive_as_with_asid_link; |
91 | link_t inactive_as_with_asid_link; |
88 | 92 | ||
89 | mutex_t lock; |
93 | mutex_t lock; |
Line 107... | Line 111... | ||
107 | as_genarch_t genarch; |
111 | as_genarch_t genarch; |
108 | 112 | ||
109 | /** Architecture specific content. */ |
113 | /** Architecture specific content. */ |
110 | as_arch_t arch; |
114 | as_arch_t arch; |
111 | } |
115 | } |
- | 116 | ||
112 | + (pte_t *) page_table_create: (int) flags; |
117 | + (pte_t *) page_table_create: (int) flags; |
113 | + (void) page_table_destroy: (pte_t *) page_table; |
118 | + (void) page_table_destroy: (pte_t *) page_table; |
114 | - (void) page_table_lock: (bool) _lock; |
119 | - (void) page_table_lock: (bool) _lock; |
115 | - (void) page_table_unlock: (bool) unlock; |
120 | - (void) page_table_unlock: (bool) unlock; |
- | 121 | ||
116 | @end |
122 | @end |
117 | 123 | ||
118 | #else |
124 | #else |
119 | 125 | ||
120 | /** Address space structure. |
126 | /** Address space structure. |