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 | * |