Rev 6252 | Rev 6311 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6252 | Rev 6261 | ||
---|---|---|---|
Line 123... | Line 123... | ||
123 | je .fake |
123 | je .fake |
Line 124... | Line 124... | ||
124 | 124 | ||
125 | mov esi, [LFBAddress] |
125 | mov esi, [LFBAddress] |
126 | bt [cpu_caps], CAPS_PSE |
126 | bt [cpu_caps], CAPS_PSE |
- | 127 | jnc .create_page_tables |
|
127 | jnc .create_page_tables |
128 | |
128 | mov edx, 0x00400000 |
129 | mov edx, 0x00400000 |
129 | or esi, PG_GLOBAL+PDE_LARGE+PAT_WC+PG_UWR |
130 | or esi, PG_GLOBAL+PDE_LARGE+PAT_WC+PG_UWR |
130 | and esi, [pte_valid_mask] |
131 | and esi, [pte_valid_mask] |
131 | mov [ebp+FRB.pde], esi |
132 | mov [ebp+FRB.pde], esi |
Line 206... | Line 207... | ||
206 | push esi |
207 | push esi |
207 | push edi |
208 | push edi |
208 | lea esi, [ecx+FRB.pde] |
209 | lea esi, [ecx+FRB.pde] |
209 | mov eax, sys_proc |
210 | mov eax, sys_proc |
Line -... | Line 211... | ||
- | 211 | ||
210 | 212 | cld |
|
211 | pushfd |
213 | pushfd |
212 | cli |
214 | cli |
213 | mov [_display.current_lfb], ecx |
- | |
214 | 215 | mov [_display.current_lfb], ecx |
|
215 | .patch_pde: |
216 | .patch_pde: |
216 | lea edi, [eax+PROC.pdt_0+4096-32] ;last 8 pd entries up to 32Mb framebuffer |
217 | lea edi, [eax+PROC.pdt_0+4096-32] ;last 8 pd entries up to 32Mb framebuffer |
217 | mov ecx, 8 |
218 | mov ecx, 4 |
218 | rep movsd ;patch pde |
219 | rep movsd ;patch pde |
219 | sub esi, 32 |
220 | sub esi, 16 |
220 | mov edi, [eax+PROC.list.next] ;next process/address space |
- | |
221 | xchg eax, edi |
221 | mov eax, [eax+PROC.list.next] ;next process/address space |
222 | cmp eax, edi |
222 | cmp eax, sys_proc |
Line 223... | Line 223... | ||
223 | jne .patch_pde |
223 | jne .patch_pde |
224 | 224 |