Changeset 0882a9a in mainline for arch/mips32/src/mm/tlb.c
- Timestamp:
- 2006-02-10T16:11:14Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ecbdc724
- Parents:
- d0a0f12
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/src/mm/tlb.c
rd0a0f12 r0882a9a 46 46 static pte_t *find_mapping_and_check(__address badvaddr); 47 47 48 static void prepare_entry_lo(entry_lo_t *lo, bool g, bool v, bool d, int c, __address pfn);48 static void prepare_entry_lo(entry_lo_t *lo, bool g, bool v, bool d, bool cacheable, __address pfn); 49 49 static void prepare_entry_hi(entry_hi_t *hi, asid_t asid, __address addr); 50 50 … … 105 105 106 106 prepare_entry_hi(&hi, AS->asid, badvaddr); 107 prepare_entry_lo(&lo, pte-> lo.g, pte->lo.v, pte->lo.d, pte->lo.c, pte->lo.pfn);107 prepare_entry_lo(&lo, pte->g, pte->p, pte->d, pte->cacheable, pte->pfn); 108 108 109 109 /* … … 179 179 pte->a = 1; 180 180 181 prepare_entry_lo(&lo, pte-> lo.g, pte->lo.v, pte->lo.d, pte->lo.c, pte->lo.pfn);181 prepare_entry_lo(&lo, pte->g, pte->p, pte->d, pte->cacheable, pte->pfn); 182 182 183 183 /* … … 253 253 */ 254 254 pte->a = 1; 255 pte-> lo.d = 1;256 257 prepare_entry_lo(&lo, pte-> lo.g, pte->lo.v, pte->w, pte->lo.c, pte->lo.pfn);255 pte->d = 1; 256 257 prepare_entry_lo(&lo, pte->g, pte->p, pte->w, pte->cacheable, pte->pfn); 258 258 259 259 /* … … 338 338 */ 339 339 pte = page_mapping_find(AS, badvaddr); 340 if (pte && pte-> lo.v) {340 if (pte && pte->p) { 341 341 /* 342 342 * Mapping found in page tables. … … 355 355 */ 356 356 pte = page_mapping_find(AS, badvaddr); 357 ASSERT(pte && pte-> lo.v);357 ASSERT(pte && pte->p); 358 358 return pte; 359 359 } … … 371 371 * Handler cannot succeed if the mapping is marked as invalid. 372 372 */ 373 if (!pte-> lo.v) {373 if (!pte->p) { 374 374 printf("Invalid mapping.\n"); 375 375 return NULL; … … 379 379 } 380 380 381 void prepare_entry_lo(entry_lo_t *lo, bool g, bool v, bool d, int c, __address pfn)381 void prepare_entry_lo(entry_lo_t *lo, bool g, bool v, bool d, bool cacheable, __address pfn) 382 382 { 383 383 lo->value = 0; … … 385 385 lo->v = v; 386 386 lo->d = d; 387 lo->c = c ;387 lo->c = cacheable ? PAGE_CACHEABLE_EXC_WRITE : PAGE_UNCACHED; 388 388 lo->pfn = pfn; 389 389 }
Note:
See TracChangeset
for help on using the changeset viewer.