Subversion Repositories HelenOS-historic

Rev

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

Rev 902 Rev 919
Line 61... Line 61...
61
 *
61
 *
62
 * @param va Virtual page address.
62
 * @param va Virtual page address.
63
 * @param asid Address space identifier.
63
 * @param asid Address space identifier.
64
 * @param entry The rest of TLB entry as required by TLB insertion format.
64
 * @param entry The rest of TLB entry as required by TLB insertion format.
65
 */
65
 */
66
void dtc_mapping_insert(__address va, asid_t asid, tlb_entry_t entry) {
66
void dtc_mapping_insert(__address va, asid_t asid, tlb_entry_t entry)
-
 
67
{
67
    tc_mapping_insert(va, asid, entry, true);
68
    tc_mapping_insert(va, asid, entry, true);
68
}
69
}
69
 
70
 
70
/** Insert data into instruction translation cache.
71
/** Insert data into instruction translation cache.
71
 *
72
 *
72
 * @param va Virtual page address.
73
 * @param va Virtual page address.
73
 * @param asid Address space identifier.
74
 * @param asid Address space identifier.
74
 * @param entry The rest of TLB entry as required by TLB insertion format.
75
 * @param entry The rest of TLB entry as required by TLB insertion format.
75
 */
76
 */
76
void itc_mapping_insert(__address va, asid_t asid, tlb_entry_t entry) {
77
void itc_mapping_insert(__address va, asid_t asid, tlb_entry_t entry)
-
 
78
{
77
    tc_mapping_insert(va, asid, entry, false);
79
    tc_mapping_insert(va, asid, entry, false);
78
}
80
}
79
 
81
 
80
/** Insert data into instruction or data translation cache.
82
/** Insert data into instruction or data translation cache.
81
 *
83
 *
Line 333... Line 335...
333
             */
335
             */
334
            dtlb_kernel_mapping_insert(va, KA2PA(va), false, 0);
336
            dtlb_kernel_mapping_insert(va, KA2PA(va), false, 0);
335
            return;
337
            return;
336
        }
338
        }
337
    }
339
    }
338
   
340
 
339
    t = page_mapping_find(AS, va);
341
    t = page_mapping_find(AS, va);
340
    if (t) {
342
    if (t) {
341
        /*
343
        /*
342
         * The mapping was found in software page hash table.
344
         * The mapping was found in software page hash table.
343
         * Insert it into data translation cache.
345
         * Insert it into data translation cache.