Changeset 8c15255 in mainline for kernel/arch/ia32/src
- Timestamp:
- 2011-08-18T21:32:56Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ac7f81d
- Parents:
- f4fa6d9
- Location:
- kernel/arch/ia32/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/asm.S
rf4fa6d9 r8c15255 405 405 xorl %eax, %eax 406 406 cmpl $(GDT_SELECTOR(KTEXT_DES)), ISTATE_OFFSET_CS(%esp) 407 #ifdef PROCESSOR_i486 408 jz 0f 409 movl %eax, %ebp 410 0: 411 #else 407 412 cmovnzl %eax, %ebp 413 #endif 408 414 409 415 movl %ebp, ISTATE_OFFSET_EBP_FRAME(%esp) -
kernel/arch/ia32/src/cpu/cpu.c
rf4fa6d9 r8c15255 118 118 ); 119 119 } 120 120 121 #ifndef PROCESSOR_i486 121 122 if (CPU->arch.fi.bits.sep) { 122 123 /* Setup fast SYSENTER/SYSEXIT syscalls */ 123 124 syscall_setup_cpu(); 124 125 } 126 #endif 125 127 } 126 128 -
kernel/arch/ia32/src/proc/scheduler.c
rf4fa6d9 r8c15255 60 60 uintptr_t kstk = (uintptr_t) &THREAD->kstack[STACK_SIZE]; 61 61 62 #ifndef PROCESSOR_i486 62 63 if (CPU->arch.fi.bits.sep) { 63 64 /* Set kernel stack for CP3 -> CPL0 switch via SYSENTER */ 64 65 write_msr(IA32_MSR_SYSENTER_ESP, kstk - sizeof(istate_t)); 65 66 } 67 #endif 66 68 67 69 /* Set kernel stack for CPL3 -> CPL0 switch via interrupt */ -
kernel/arch/ia32/src/syscall.c
rf4fa6d9 r8c15255 39 39 #include <arch/pm.h> 40 40 41 #ifndef PROCESSOR_i486 41 42 /** Enable & setup support for SYSENTER/SYSEXIT */ 42 43 void syscall_setup_cpu(void) … … 49 50 write_msr(IA32_MSR_SYSENTER_EIP, (uint32_t) sysenter_handler); 50 51 } 52 #endif 51 53 52 54 /** @}
Note:
See TracChangeset
for help on using the changeset viewer.