Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4055 | ||
---|---|---|---|
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 |