Subversion Repositories HelenOS-historic

Rev

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

Rev 569 Rev 594
Line 63... Line 63...
63
    cp0_entry_lo1_write(0);
63
    cp0_entry_lo1_write(0);
64
 
64
 
65
    /*
65
    /*
66
     * Invalidate all entries.
66
     * Invalidate all entries.
67
     */
67
     */
68
    for (i = 0; i < TLB_SIZE; i++) {
68
    for (i = 0; i < TLB_ENTRY_COUNT; i++) {
69
        cp0_index_write(i);
69
        cp0_index_write(i);
70
        tlbwi();
70
        tlbwi();
71
    }
71
    }
72
   
72
   
73
    /*
73
    /*
Line 320... Line 320...
320
   
320
   
321
    ASSERT(asid != ASID_INVALID);
321
    ASSERT(asid != ASID_INVALID);
322
 
322
 
323
    ipl = interrupts_disable();
323
    ipl = interrupts_disable();
324
   
324
   
325
    for (i = 0; i < TLB_SIZE; i++) {
325
    for (i = 0; i < TLB_ENTRY_COUNT; i++) {
326
        cp0_index_write(i);
326
        cp0_index_write(i);
327
        tlbr();
327
        tlbr();
328
       
328
       
329
        hi.value = cp0_entry_hi_read();
329
        hi.value = cp0_entry_hi_read();
330
        if (hi.asid == asid) {
330
        if (hi.asid == asid) {
Line 397... Line 397...
397
{
397
{
398
    hi->value = (((addr/PAGE_SIZE)/2)*PAGE_SIZE*2);
398
    hi->value = (((addr/PAGE_SIZE)/2)*PAGE_SIZE*2);
399
    hi->asid = asid;
399
    hi->asid = asid;
400
}
400
}
401
 
401
 
-
 
402
/** Print contents of TLB. */
402
void tlb_print(void)
403
void tlb_print(void)
403
{
404
{
-
 
405
    entry_lo_t lo0, lo1;
-
 
406
    entry_hi_t hi;
-
 
407
    int i;
-
 
408
 
-
 
409
    printf("TLB:\n");
-
 
410
    for (i = 0; i < TLB_ENTRY_COUNT; i++) {
-
 
411
        cp0_index_write(i);
-
 
412
 
-
 
413
        tlbr();
-
 
414
       
-
 
415
        hi.value = cp0_entry_hi_read();
-
 
416
        lo0.value = cp0_entry_lo0_read();
-
 
417
        lo1.value = cp0_entry_lo1_read();
-
 
418
       
-
 
419
        printf("%d: asid=%d, vpn2=%d\tg[0]=%d, v[0]=%d, d[0]=%d, c[0]=%B, pfn[0]=%d\n"
-
 
420
               "\t\t\tg[1]=%d, v[1]=%d, d[1]=%d, c[1]=%B, pfn[1]=%d\n",
-
 
421
               i, hi.asid, hi.vpn2, lo0.g, lo0.v, lo0.d, lo0.c, lo0.pfn,
-
 
422
               lo1.g, lo1.v, lo1.d, lo1.c, lo1.pfn);
-
 
423
    }
404
}
424
}