Changeset 1a5eca4 in mainline for kernel/arch/amd64/src/proc/scheduler.c
- Timestamp:
- 2016-04-27T19:36:56Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- af9dd1e
- Parents:
- d6f9fff
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/proc/scheduler.c
rd6f9fff r1a5eca4 42 42 #include <arch/pm.h> 43 43 #include <arch/ddi/ddi.h> 44 #include <arch/kseg_struct.h> 44 45 45 46 /** Perform amd64 specific tasks needed before the new task is run. … … 55 56 void before_thread_runs_arch(void) 56 57 { 57 CPU->arch.tss->rsp0 = 58 (uintptr_t) &THREAD->kstack[STACK_SIZE]; 59 60 /* 61 * Syscall support. 62 */ 63 swapgs(); 64 write_msr(AMD_MSR_GS, (uintptr_t) THREAD->arch.syscall_rsp); 65 swapgs(); 66 67 /* TLS support - set FS to thread local storage */ 68 write_msr(AMD_MSR_FS, THREAD->arch.tls); 58 CPU->arch.tss->rsp0 = (uintptr_t) &THREAD->kstack[STACK_SIZE]; 59 60 kseg_t *kseg = (kseg_t *) read_msr(AMD_MSR_GS_KERNEL); 61 kseg->kstack_rsp = THREAD->arch.kstack_rsp; 69 62 } 70 63
Note:
See TracChangeset
for help on using the changeset viewer.