Rev 684 | Rev 746 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 684 | Rev 687 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
28 | 28 | ||
29 | #include <genarch/mm/page_ht.h> |
29 | #include <genarch/mm/page_ht.h> |
30 | #include <mm/page.h> |
30 | #include <mm/page.h> |
31 | #include <mm/frame.h> |
31 | #include <mm/frame.h> |
- | 32 | #include <arch/mm/asid.h> |
|
32 | #include <arch/types.h> |
33 | #include <arch/types.h> |
33 | #include <typedefs.h> |
34 | #include <typedefs.h> |
34 | #include <arch/asm.h> |
35 | #include <arch/asm.h> |
35 | 36 | ||
36 | static void ht_mapping_insert(__address page, __address frame, int flags, __address root); |
37 | static void ht_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root); |
37 | static pte_t *ht_mapping_find(__address page, __address root); |
38 | static pte_t *ht_mapping_find(__address page, asid_t asid, __address root); |
38 | 39 | ||
39 | page_operations_t page_ht_operations = { |
40 | page_operations_t page_ht_operations = { |
40 | .mapping_insert = ht_mapping_insert, |
41 | .mapping_insert = ht_mapping_insert, |
41 | .mapping_find = ht_mapping_find |
42 | .mapping_find = ht_mapping_find |
42 | }; |
43 | }; |
Line 45... | Line 46... | ||
45 | * |
46 | * |
46 | * Map virtual address 'page' to physical address 'frame' |
47 | * Map virtual address 'page' to physical address 'frame' |
47 | * using 'flags'. |
48 | * using 'flags'. |
48 | * |
49 | * |
49 | * @param page Virtual address of the page to be mapped. |
50 | * @param page Virtual address of the page to be mapped. |
- | 51 | * @param asid Address space to which page belongs. |
|
50 | * @param frame Physical address of memory frame to which the mapping is done. |
52 | * @param frame Physical address of memory frame to which the mapping is done. |
51 | * @param flags Flags to be used for mapping. |
53 | * @param flags Flags to be used for mapping. |
52 | * @param root Explicit PTL0 address. |
54 | * @param root Explicit PTL0 address. |
53 | */ |
55 | */ |
54 | void ht_mapping_insert(__address page, __address frame, int flags, __address root) |
56 | void ht_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root) |
55 | { |
57 | { |
56 | } |
58 | } |
57 | 59 | ||
58 | /** Find mapping for virtual page in page hash table. |
60 | /** Find mapping for virtual page in page hash table. |
59 | * |
61 | * |
60 | * Find mapping for virtual page. |
62 | * Find mapping for virtual page. |
61 | * |
63 | * |
62 | * @param page Virtual page. |
64 | * @param page Virtual page. |
- | 65 | * @param asid Address space to wich page belongs. |
|
63 | * @param root PTL0 address if non-zero. |
66 | * @param root PTL0 address if non-zero. |
64 | * |
67 | * |
65 | * @return NULL if there is no such mapping; entry from PTL3 describing the mapping otherwise. |
68 | * @return NULL if there is no such mapping; entry from PTL3 describing the mapping otherwise. |
66 | */ |
69 | */ |
67 | pte_t *ht_mapping_find(__address page, __address root) |
70 | pte_t *ht_mapping_find(__address page, asid_t asid, __address root) |
68 | { |
71 | { |
69 | return NULL; |
72 | return NULL; |
70 | } |
73 | } |