405,15 → 405,15 |
|
printf("DT512_1 contents:\n"); |
for (i = 0; i < 512; i++) { |
d.value = dtlb_data_access_read(TLB_DT512_1, i); |
t.value = dtlb_tag_read_read(TLB_DT512_1, i); |
d.value = dtlb_data_access_read(TLB_DT512_0, i); |
t.value = dtlb_tag_read_read(TLB_DT512_0, i); |
print_tlb_entry(i, t, d); |
} |
|
printf("DT512_2 contents:\n"); |
for (i = 0; i < 512; i++) { |
d.value = dtlb_data_access_read(TLB_DT512_2, i); |
t.value = dtlb_tag_read_read(TLB_DT512_2, i); |
d.value = dtlb_data_access_read(TLB_DT512_1, i); |
t.value = dtlb_tag_read_read(TLB_DT512_1, i); |
print_tlb_entry(i, t, d); |
} |
} |
479,7 → 479,7 |
/** Invalidates given TLB entry if and only if it is non-locked or global. |
* |
* @param tlb |
* TLB number (one of TLB_DT16, TLB_DT512_1, TLB_DT512_2, |
* TLB number (one of TLB_DT16, TLB_DT512_0, TLB_DT512_1, |
* TLB_IT16, TLB_IT128) |
* @param entry entry index within the given TLB |
*/ |
488,7 → 488,7 |
tlb_data_t d; |
tlb_tag_read_reg_t t; |
|
if (tlb == TLB_DT16 || tlb == TLB_DT512_1 || tlb == TLB_DT512_2) { |
if (tlb == TLB_DT16 || tlb == TLB_DT512_0 || tlb == TLB_DT512_1) { |
d.value = dtlb_data_access_read(tlb, entry); |
if (!d.l || d.g) { |
t.value = dtlb_tag_read_read(tlb, entry); |
555,9 → 555,9 |
for (i = 0; i < 16; i++) |
tlb_invalidate_entry(TLB_DT16, i); |
for (i = 0; i < 512; i++) |
tlb_invalidate_entry(TLB_DT512_0, i); |
for (i = 0; i < 512; i++) |
tlb_invalidate_entry(TLB_DT512_1, i); |
for (i = 0; i < 512; i++) |
tlb_invalidate_entry(TLB_DT512_2, i); |
#endif |
|
} |