Subversion Repositories HelenOS-historic

Rev

Rev 1380 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1380 Rev 1468
Line 40... Line 40...
40
#include <memstr.h>
40
#include <memstr.h>
41
#include <adt/hash_table.h>
41
#include <adt/hash_table.h>
42
#include <synch/mutex.h>
42
#include <synch/mutex.h>
43
 
43
 
44
static pte_t *ht_create(int flags);
44
static pte_t *ht_create(int flags);
-
 
45
static void ht_destroy(pte_t *page_table);
45
 
46
 
46
static void ht_lock(as_t *as, bool lock);
47
static void ht_lock(as_t *as, bool lock);
47
static void ht_unlock(as_t *as, bool unlock);
48
static void ht_unlock(as_t *as, bool unlock);
48
 
49
 
49
as_operations_t as_ht_operations = {
50
as_operations_t as_ht_operations = {
50
    .page_table_create = ht_create,
51
    .page_table_create = ht_create,
-
 
52
    .page_table_destroy = ht_destroy,
51
    .page_table_lock = ht_lock,
53
    .page_table_lock = ht_lock,
52
    .page_table_unlock = ht_unlock,
54
    .page_table_unlock = ht_unlock,
53
};
55
};
54
 
56
 
55
 
57
 
Line 69... Line 71...
69
        mutex_initialize(&page_ht_lock);
71
        mutex_initialize(&page_ht_lock);
70
    }
72
    }
71
    return NULL;
73
    return NULL;
72
}
74
}
73
 
75
 
-
 
76
/** Destroy page table.
-
 
77
 *
-
 
78
 * Actually do nothing as the global page hash table is used.
-
 
79
 *
-
 
80
 * @param page_table This parameter is ignored.
-
 
81
 */
-
 
82
void ht_destroy(pte_t *page_table)
-
 
83
{
-
 
84
    /* No-op. */
-
 
85
}
-
 
86
 
74
/** Lock page table.
87
/** Lock page table.
75
 *
88
 *
76
 * Lock address space and page hash table.
89
 * Lock address space and page hash table.
77
 * Interrupts must be disabled.
90
 * Interrupts must be disabled.
78
 *
91
 *