Rev 1864 | Rev 1880 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1864 | Rev 1868 | ||
|---|---|---|---|
| Line 123... | Line 123... | ||
| 123 | set 1, %r2; \ |
123 | set 1, %r2; \ |
| 124 | sllx %r2, TTE_V_SHIFT, %r2; \ |
124 | sllx %r2, TTE_V_SHIFT, %r2; \ |
| 125 | or %r1, %r2, %r1; |
125 | or %r1, %r2, %r1; |
| 126 | 126 | ||
| 127 | ! write DTLB data and install the kernel mapping |
127 | ! write DTLB data and install the kernel mapping |
| - | 128 | SET_TLB_DATA(g1, g2, 0) ! use non-global mapping |
|
| - | 129 | stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG |
|
| - | 130 | membar #Sync |
|
| - | 131 | ||
| - | 132 | /* |
|
| - | 133 | * Because we cannot use global mappings (because we want to |
|
| - | 134 | * have separate 64-bit address spaces for both the kernel |
|
| - | 135 | * and the userspace), we prepare the identity mapping also in |
|
| - | 136 | * context 1. This step is required by the |
|
| - | 137 | * code installing the ITLB mapping. |
|
| - | 138 | */ |
|
| - | 139 | ! write DTLB tag of context 1 (i.e. MEM_CONTEXT_TEMP) |
|
| 128 | SET_TLB_DATA(g1, g2, TTE_G) |
140 | SET_TLB_TAG(g1, MEM_CONTEXT_TEMP) |
| - | 141 | stxa %g1, [VA_DMMU_TAG_ACCESS] %asi |
|
| - | 142 | membar #Sync |
|
| - | 143 | ||
| - | 144 | ! write DTLB data and install the kernel mapping in context 1 |
|
| - | 145 | SET_TLB_DATA(g1, g2, 0) ! use non-global mapping |
|
| 129 | stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG |
146 | stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG |
| 130 | membar #Sync |
147 | membar #Sync |
| 131 | 148 | ||
| 132 | /* |
149 | /* |
| 133 | * Now is time to take over the IMMU. |
150 | * Now is time to take over the IMMU. |