Changeset 368
- Timestamp:
- Aug 14, 2017, 12:32:08 PM (7 years ago)
- Location:
- trunk/hal/x86_64/core
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/hal/x86_64/core/hal_boot.S
r312 r368 416 416 orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax 417 417 andl $~(CR0_CD|CR0_NW),%eax 418 orl $(CR0_EM),%eax /* FPU not implemented yet */ 418 419 movl %eax,%cr0 419 420 jmp compat -
trunk/hal/x86_64/core/hal_context.c
r361 r368 109 109 /* Switch the VM space */ 110 110 if (newproc != oldproc) { 111 // TODO userland 112 x86_panic((char *)__func__); 111 lcr3((uint64_t)newproc->vmm.gpt.ppn << CONFIG_PPM_PAGE_SHIFT); 113 112 } 114 113 … … 124 123 error_t hal_fpu_context_create( thread_t * thread ) 125 124 { 126 x86_panic((char *)__func__);125 /* FPU not implemented yet */ 127 126 return 0; 128 127 } -
trunk/hal/x86_64/core/hal_cpu.S
r365 r368 119 119 ASM_ENTRY(rcr3) 120 120 movq %cr3,%rax 121 ret 122 123 ASM_ENTRY(lcr3) 124 movq %rdi,%cr3 121 125 ret 122 126 -
trunk/hal/x86_64/core/hal_gpt.c
r319 r368 290 290 L4dst = (pt_entry_t *)ppm_page2base(page_xp); 291 291 memcpy(&L4dst[256], &L4src[256], 256 * sizeof(pt_entry_t)); 292 L4dst[L4_SLOT_PTE] = (ppm_page2ppn(page_xp) >>CONFIG_PPM_PAGE_SHIFT) |292 L4dst[L4_SLOT_PTE] = (ppm_page2ppn(page_xp) << CONFIG_PPM_PAGE_SHIFT) | 293 293 PG_V | PG_KW | PG_NX; 294 294 -
trunk/hal/x86_64/core/hal_internal.h
r339 r368 51 51 vaddr_t rcr2(void); 52 52 uint64_t rcr3(void); 53 void lcr3(uint64_t); 53 54 uint64_t rcr4(void); 54 55 void lcr4(uint64_t); -
trunk/hal/x86_64/core/hal_smpboot.S
r329 r368 152 152 orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax 153 153 andl $~(CR0_CD|CR0_NW),%eax 154 orl $(CR0_EM),%eax /* FPU not implemented yet */ 154 155 movl %eax,%cr0 155 156 -
trunk/hal/x86_64/core/hal_special.c
r336 r368 87 87 void hal_fpu_enable() 88 88 { 89 x86_panic((char *)__func__); 89 /* FPU not implemented yet */ 90 return; 90 91 clts(); 91 92 } … … 93 94 void hal_fpu_disable() 94 95 { 95 x86_panic((char *)__func__); 96 /* FPU not implemented yet */ 97 return; 96 98 stts(); 97 99 }
Note: See TracChangeset
for help on using the changeset viewer.