Changes in kernel/arch/amd64/src/context.S [4bf0926e:a35b458] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/context.S
r4bf0926e ra35b458 40 40 FUNCTION_BEGIN(context_save_arch) 41 41 movq (%rsp), %rdx # the caller's return %rip 42 42 43 43 movq %rdx, CONTEXT_OFFSET_PC(%rdi) 44 44 movq %rsp, CONTEXT_OFFSET_SP(%rdi) 45 45 46 46 movq %rbx, CONTEXT_OFFSET_RBX(%rdi) 47 47 movq %rbp, CONTEXT_OFFSET_RBP(%rdi) … … 50 50 movq %r14, CONTEXT_OFFSET_R14(%rdi) 51 51 movq %r15, CONTEXT_OFFSET_R15(%rdi) 52 52 53 53 #ifdef MEMORY_MODEL_large 54 54 movabsq $vreg_ptr, %rsi … … 59 59 movq %fs:VREG_TP(%rsi), %rsi 60 60 movq %rsi, CONTEXT_OFFSET_TP(%rdi) 61 61 62 62 xorl %eax, %eax # context_save returns 1 63 63 incl %eax … … 78 78 movq CONTEXT_OFFSET_RBP(%rdi), %rbp 79 79 movq CONTEXT_OFFSET_RBX(%rdi), %rbx 80 80 81 81 movq CONTEXT_OFFSET_SP(%rdi), %rsp 82 82 83 83 movq CONTEXT_OFFSET_PC(%rdi), %rdx 84 84 movq %rdx, (%rsp) 85 85 86 86 movq CONTEXT_OFFSET_TP(%rdi), %rcx 87 87 #ifdef MEMORY_MODEL_large … … 92 92 #endif 93 93 movq %rcx, %fs:VREG_TP(%rsi) 94 94 95 95 xorl %eax, %eax # context_restore returns 0 96 96 ret
Note:
See TracChangeset
for help on using the changeset viewer.