Subversion Repositories HelenOS

Rev

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.