Changeset 1b20da0 in mainline for kernel/arch/amd64/src
- Timestamp:
- 2018-02-28T17:52:03Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3061bc1
- Parents:
- df6ded8
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:26:03)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:52:03)
- Location:
- kernel/arch/amd64/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/asm.S
rdf6ded8 r1b20da0 263 263 SYMBOL(interrupt_handlers) 264 264 .irp cnt, LIST_0_63 265 handler \cnt 265 handler \cnt 266 266 .endr 267 267 … … 307 307 movq %rcx, ISTATE_OFFSET_RCX(%rsp) /* userspace RIP */ 308 308 movq %rdx, ISTATE_OFFSET_RDX(%rsp) /* 3rd argument, observability */ 309 movq %rsi, ISTATE_OFFSET_RSI(%rsp) /* 2nd argument, observability */ 309 movq %rsi, ISTATE_OFFSET_RSI(%rsp) /* 2nd argument, observability */ 310 310 movq %rdi, ISTATE_OFFSET_RDI(%rsp) /* 1st argument, observability */ 311 311 movq %rbp, ISTATE_OFFSET_RBP(%rsp) /* need to preserve userspace RBP */ … … 361 361 */ 362 362 testw $0xffff, ISTATE_OFFSET_RIP+6(%rsp) 363 jnz bad_rip 363 jnz bad_rip 364 364 365 365 cli -
kernel/arch/amd64/src/cpu/cpu.c
rdf6ded8 r1b20da0 81 81 /** Set the TS flag to 1. 82 82 * 83 * If a thread accesses coprocessor, exception is run, which 83 * If a thread accesses coprocessor, exception is run, which 84 84 * does a lazy fpu context switch. 85 85 * -
kernel/arch/amd64/src/interrupt.c
rdf6ded8 r1b20da0 230 230 exc_register(VECTOR_TLB_SHOOTDOWN_IPI, "tlb_shootdown", true, 231 231 (iroutine_t) tlb_shootdown_ipi); 232 exc_register(VECTOR_SMP_CALL_IPI, "smp_call", true, 232 exc_register(VECTOR_SMP_CALL_IPI, "smp_call", true, 233 233 (iroutine_t) arch_smp_call_ipi_recv); 234 234 #endif -
kernel/arch/amd64/src/kseg.c
rdf6ded8 r1b20da0 27 27 */ 28 28 29 /** @addtogroup amd64 29 /** @addtogroup amd64 30 30 * @{ 31 31 */ -
kernel/arch/amd64/src/proc/scheduler.c
rdf6ded8 r1b20da0 58 58 CPU->arch.tss->rsp0 = (uintptr_t) &THREAD->kstack[STACK_SIZE]; 59 59 60 kseg_t *kseg = (kseg_t *) read_msr(AMD_MSR_GS_KERNEL); 60 kseg_t *kseg = (kseg_t *) read_msr(AMD_MSR_GS_KERNEL); 61 61 kseg->kstack_rsp = THREAD->arch.kstack_rsp; 62 62 } -
kernel/arch/amd64/src/syscall.c
rdf6ded8 r1b20da0 60 60 ((uint64_t) (GDT_SELECTOR(KTEXT_DES) | PL_KERNEL) << 32)); 61 61 write_msr(AMD_MSR_LSTAR, (uint64_t)syscall_entry); 62 /* Mask RFLAGS on syscall 62 /* Mask RFLAGS on syscall 63 63 * - disable interrupts, until we exchange the stack register 64 64 * (mask the IF bit) -
kernel/arch/amd64/src/vreg.c
rdf6ded8 r1b20da0 27 27 */ 28 28 29 /** @addtogroup amd64 29 /** @addtogroup amd64 30 30 * @{ 31 31 */ … … 71 71 write_msr(AMD_MSR_FS, (uintptr_t) page); 72 72 73 vreg_ptr = NULL; 73 vreg_ptr = NULL; 74 74 } 75 75
Note:
See TracChangeset
for help on using the changeset viewer.