Changeset 0c0410b in mainline for genarch/src/mm/page_ht.c
- Timestamp:
- 2006-01-10T13:25:54Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e30bc2a
- Parents:
- 42edee68
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
genarch/src/mm/page_ht.c
r42edee68 r0c0410b 30 30 #include <mm/page.h> 31 31 #include <mm/frame.h> 32 #include <mm/heap.h> 32 33 #include <arch/mm/asid.h> 33 34 #include <arch/types.h> 34 35 #include <typedefs.h> 35 36 #include <arch/asm.h> 37 #include <debug.h> 36 38 37 39 static void ht_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root); … … 52 54 * @param frame Physical address of memory frame to which the mapping is done. 53 55 * @param flags Flags to be used for mapping. 54 * @param root Explicit PTL0 address.56 * @param root Ignored. 55 57 */ 56 void ht_mapping_insert(__address page, 58 void ht_mapping_insert(__address page, asid_t asid, __address frame, int flags, __address root) 57 59 { 60 pte_t *t, *u = NULL; 61 62 t = HT_HASH(page, asid); 63 if (!HT_SLOT_EMPTY(t)) { 64 u = (pte_t *) malloc(sizeof(pte_t)); /* FIXME: use slab allocator for this */ 65 if (!u) 66 panic("could not allocate memory for hash table\n"); 67 *u = *t; 68 } 69 HT_SET_NEXT(t, u); 70 HT_SET_RECORD(t, page, asid, frame, flags); 58 71 } 59 72 … … 64 77 * @param page Virtual page. 65 78 * @param asid Address space to wich page belongs. 66 * @param root PTL0 address if non-zero.79 * @param root Ignored. 67 80 * 68 * @return NULL if there is no such mapping; entry from PTL3 describing themapping otherwise.81 * @return NULL if there is no such mapping; requested mapping otherwise. 69 82 */ 70 83 pte_t *ht_mapping_find(__address page, asid_t asid, __address root) 71 84 { 72 return NULL; 85 pte_t *t; 86 87 t = HT_HASH(page, asid); 88 while (!HT_COMPARE(page, asid, t) && HT_GET_NEXT(t)) 89 t = HT_GET_NEXT(t); 90 91 return HT_COMPARE(page, asid, t) ? t : NULL; 73 92 }
Note:
See TracChangeset
for help on using the changeset viewer.