Rev 2927 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2927 | Rev 3674 | ||
|---|---|---|---|
| Line 110... | Line 110... | ||
| 110 | /* the shift is bigger than PAGE_WIDTH, do not bother with index */ |
110 | /* the shift is bigger than PAGE_WIDTH, do not bother with index */ |
| 111 | tsb->tag.va_tag = t->page >> VA_TAG_PAGE_SHIFT; |
111 | tsb->tag.va_tag = t->page >> VA_TAG_PAGE_SHIFT; |
| 112 | tsb->data.value = 0; |
112 | tsb->data.value = 0; |
| 113 | tsb->data.size = PAGESIZE_8K; |
113 | tsb->data.size = PAGESIZE_8K; |
| 114 | tsb->data.pfn = (t->frame >> MMU_FRAME_WIDTH) + index; |
114 | tsb->data.pfn = (t->frame >> MMU_FRAME_WIDTH) + index; |
| 115 | tsb->data.cp = t->c; |
115 | tsb->data.cp = t->c; /* cp as cache in phys.-idxed, c as cacheable */ |
| 116 | tsb->data.p = t->k; /* p as privileged */ |
116 | tsb->data.p = t->k; /* p as privileged, k as kernel */ |
| 117 | tsb->data.v = t->p; |
117 | tsb->data.v = t->p; /* v as valid, p as present */ |
| 118 | 118 | ||
| 119 | write_barrier(); |
119 | write_barrier(); |
| 120 | 120 | ||
| 121 | tsb->tag.invalid = false; /* mark the entry as valid */ |
121 | tsb->tag.invalid = false; /* mark the entry as valid */ |
| 122 | } |
122 | } |
| Line 171... | Line 171... | ||
| 171 | tsb->tag.invalid = false; /* mark the entry as valid */ |
171 | tsb->tag.invalid = false; /* mark the entry as valid */ |
| 172 | } |
172 | } |
| 173 | 173 | ||
| 174 | /** @} |
174 | /** @} |
| 175 | */ |
175 | */ |
| - | 176 | ||