Changeset dff90fa7 in mainline for kernel/arch/ia32/src
- Timestamp:
- 2013-06-05T19:41:12Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 74dcc07
- Parents:
- f288d85 (diff), 6db5d4b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/arch/ia32/src
- Files:
-
- 5 edited
-
boot/vesa_real.inc (modified) (3 diffs)
-
cpu/cpu.c (modified) (1 diff)
-
fpu_context.c (modified) (4 diffs)
-
mm/page.c (modified) (2 diffs)
-
pm.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/boot/vesa_real.inc
rf288d85 rdff90fa7 31 31 vesa_init: 32 32 lidtl vesa_idtr 33 jmp $GDT_SELECTOR(VESA_INIT_DES), $vesa_init_real - vesa_init 33 34 mov $GDT_SELECTOR(VESA_INIT_DATA_DES), %bx 35 36 mov %bx, %es 37 mov %bx, %fs 38 mov %bx, %gs 39 mov %bx, %ds 40 mov %bx, %ss 41 42 jmp $GDT_SELECTOR(VESA_INIT_CODE_DES), $vesa_init_real - vesa_init 34 43 35 44 vesa_idtr: … … 39 48 .code16 40 49 vesa_init_real: 41 42 50 mov %cr0, %eax 43 51 and $~1, %eax … … 45 53 46 54 jmp $VESA_INIT_SEGMENT, $vesa_init_real2 - vesa_init 47 55 48 56 vesa_init_real2: 49 57 mov $VESA_INIT_SEGMENT, %bx -
kernel/arch/ia32/src/cpu/cpu.c
rf288d85 rdff90fa7 115 115 "mov %[help], %%cr4\n" 116 116 : [help] "+r" (help) 117 : [mask] "i" (CR4_OSFXSR_MASK | (1 << 10))117 : [mask] "i" (CR4_OSFXSR_MASK | CR4_OSXMMEXCPT_MASK) 118 118 ); 119 119 } 120 120 121 121 #ifndef PROCESSOR_i486 122 122 if (CPU->arch.fi.bits.sep) { -
kernel/arch/ia32/src/fpu_context.c
rf288d85 rdff90fa7 27 27 */ 28 28 29 /** @addtogroup ia32 29 /** @addtogroup ia32 30 30 * @{ 31 31 */ … … 37 37 #include <arch.h> 38 38 #include <cpu.h> 39 40 39 41 40 /** x87 FPU scr values (P3+ MMX2) */ … … 60 59 X87_DENORMAL_EXC_FLAG = (1 << 1), 61 60 X87_INVALID_OP_EXC_FLAG = (1 << 0), 62 61 63 62 X87_ALL_MASK = X87_PRECISION_MASK | X87_UNDERFLOW_MASK | X87_OVERFLOW_MASK | X87_ZERO_DIV_MASK | X87_DENORMAL_OP_MASK | X87_INVALID_OP_MASK, 64 63 }; 65 64 66 67 65 typedef void (*fpu_context_function)(fpu_context_t *fctx); 68 66 69 static fpu_context_function fpu_save, fpu_restore; 67 static fpu_context_function fpu_save; 68 static fpu_context_function fpu_restore; 70 69 71 70 static void fpu_context_f_save(fpu_context_t *fctx) … … 104 103 void fpu_fxsr(void) 105 104 { 106 fpu_save =fpu_context_fx_save;107 fpu_restore =fpu_context_fx_restore;105 fpu_save = fpu_context_fx_save; 106 fpu_restore = fpu_context_fx_restore; 108 107 } 109 108 -
kernel/arch/ia32/src/mm/page.c
rf288d85 rdff90fa7 84 84 void page_fault(unsigned int n __attribute__((unused)), istate_t *istate) 85 85 { 86 uintptr_t page;86 uintptr_t badvaddr; 87 87 pf_access_t access; 88 88 89 page= read_cr2();89 badvaddr = read_cr2(); 90 90 91 91 if (istate->error_word & PFERR_CODE_RSVD) … … 97 97 access = PF_ACCESS_READ; 98 98 99 if (as_page_fault(page, access, istate) == AS_PF_FAULT) { 100 fault_if_from_uspace(istate, "Page fault: %#x.", page); 101 panic_memtrap(istate, access, page, NULL); 102 } 99 (void) as_page_fault(badvaddr, access, istate); 103 100 } 104 101 -
kernel/arch/ia32/src/pm.c
rf288d85 rdff90fa7 75 75 /* VESA Init descriptor */ 76 76 #ifdef CONFIG_FB 77 { 0xffff, 0, VESA_INIT_SEGMENT >> 12, AR_PRESENT | AR_CODE | DPL_KERNEL, 0xf, 0, 0, 0, 0, 0 } 77 { 0xffff, 0, VESA_INIT_SEGMENT >> 12, AR_PRESENT | AR_CODE | AR_READABLE | DPL_KERNEL, 0xf, 0, 0, 0, 0, 0 }, 78 { 0xffff, 0, VESA_INIT_SEGMENT >> 12, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 0, 0, 0 } 78 79 #endif 79 80 };
Note:
See TracChangeset
for help on using the changeset viewer.
