Lines Matching refs:rax

87 	push	%rax				;\
88 leaq func(%rip), %rax ;\
89 movq %rax, 8(%rsp) ;\
90 pop %rax
101 push %rax ;\
103 pop %rax ;\
186 mov %rax, R64_RAX(%r15)
202 mov %cr2, %rax
203 mov %rax, R64_CR2(%r15)
215 pushq %rax
216 leaq HNDL_ALLTRAPS(%rip), %rax
217 movq %rax, ISF64_TRAPFN+8(%rsp)
218 popq %rax
256 mov %cr2, %rax
339 movq TH_PCB_IDS(%rdx),%rax /* Obtain this thread's debug state */
341 test %rax, %rax /* Is there a debug register context? */
345 movl DS_DR0(%rax), %ecx /* If so, load the 32 bit DRs */
347 movl DS_DR1(%rax), %ecx
349 movl DS_DR2(%rax), %ecx
351 movl DS_DR3(%rax), %ecx
353 movl DS_DR7(%rax), %ecx
357 mov DS64_DR0(%rax), %rcx /* Load the full width DRs*/
359 mov DS64_DR1(%rax), %rcx
361 mov DS64_DR2(%rax), %rcx
363 mov DS64_DR3(%rax), %rcx
365 mov DS64_DR7(%rax), %rcx
381 mov %gs:CPU_DR7, %rax /* Is there a debug control register?*/
382 cmp $0, %rax
384 mov %rax, %dr7 /* Set DR7 */
492 mov R64_RAX(%r15), %rax
531 * These are entered via a syscall interrupt. The system call number in %rax
541 pushq %rax /* save system call number */
549 pushq %rax /* save system call number */
557 pushq %rax /* save system call number */
579 mov %rax, ISF64_ERR(%rsp) /* err/rax - syscall code */
616 push %rax /* err/eax - syscall code */
626 push %rax /* save %rax temporarily */
629 pop %rax /* restore %rax, swapgs, and continue */
652 push %rax /* save %rax temporarily */
653 lea EXT(idt64_sysenter)(%rip), %rax
654 cmp %rax, ISF64_RIP+8(%rsp)
655 pop %rax
676 push %rax
677 leaq EXT(idt64_syscall)(%rip), %rax
678 cmp %rax, ISF64_RIP+8(%rsp)
679 pop %rax
715 push %rax
718 mov ISF64_SS+8(%rsp), %rax
719 mov %rax, ISF64_SS(%rcx)
720 mov ISF64_RSP+8(%rsp), %rax
721 mov %rax, ISF64_RSP(%rcx)
722 mov ISF64_RFLAGS+8(%rsp), %rax
723 mov %rax, ISF64_RFLAGS(%rcx)
724 mov ISF64_CS+8(%rsp), %rax
725 mov %rax, ISF64_CS(%rcx)
726 mov ISF64_RIP+8(%rsp), %rax
727 mov %rax, ISF64_RIP(%rcx)
728 mov ISF64_ERR+8(%rsp), %rax
729 mov %rax, ISF64_ERR(%rcx)
730 mov ISF64_TRAPFN+8(%rsp), %rax
731 mov %rax, ISF64_TRAPFN(%rcx)
732 mov ISF64_TRAPNO+8(%rsp), %rax
733 mov %rax, ISF64_TRAPNO(%rcx)
734 pop %rax
741 push %rax
742 leaq EXT(ret32_iret)(%rip), %rax
743 cmp %rax, 8+ISF64_RIP(%rsp)
745 leaq EXT(ret64_iret)(%rip), %rax
746 cmp %rax, 8+ISF64_RIP(%rsp)
748 leaq EXT(ret32_set_ds)(%rip), %rax
749 cmp %rax, 8+ISF64_RIP(%rsp)
751 leaq EXT(ret32_set_es)(%rip), %rax
752 cmp %rax, 8+ISF64_RIP(%rsp)
754 leaq EXT(ret32_set_fs)(%rip), %rax
755 cmp %rax, 8+ISF64_RIP(%rsp)
757 leaq EXT(ret32_set_gs)(%rip), %rax
758 cmp %rax, 8+ISF64_RIP(%rsp)
767 * Note: %rax has been pushed on stack.
783 movq %gs:CPU_UBER_ISF, %rax /* PCB stack addr */
784 subq %rsp, %rax
785 cmpq $(PAGE_SIZE), %rax /* current stack in PCB? */
787 pop %rax /* - no, restore %rax */
794 movq %gs:CPU_KERNEL_STACK, %rax
795 xchgq %rax, %rsp
796 pushq 8+ISF64_SS(%rax)
797 pushq 8+ISF64_RSP(%rax)
798 pushq 8+ISF64_RFLAGS(%rax)
799 pushq 8+ISF64_CS(%rax)
800 pushq 8+ISF64_RIP(%rax)
801 pushq 8+ISF64_ERR(%rax)
802 pushq 8+ISF64_TRAPFN(%rax)
803 pushq 8+ISF64_TRAPNO(%rax)
804 movq (%rax), %rax
812 * (rax saved above, which is immediately popped)
840 pop %rax /* recover saved %rax */
841 mov %rax, ISF64_RIP(%rsp) /* save rax (we don`t need saved rip) */
842 mov ISF64_RSP(%rsp), %rax
843 xchg %rax, %rsp /* switch to PCB stack */
844 push ISF64_ERR(%rax)
845 push ISF64_TRAPFN(%rax)
846 push ISF64_TRAPNO(%rax)
847 mov ISF64_RIP(%rax), %rax /* restore rax */
855 * (rax saved above, which is immediately popped)
876 pop %rax /* toss saved %rax from stack */
877 mov ISF64_TRAPNO(%rsp), %rax
881 mov %rax,R64_TRAPNO(%rsp)
925 push %rax /* save RAX to ISF64_ERR */
956 mov %gs:CPU_KERNEL_STACK, %rax
957 xor %rcx, %rax
958 and EXT(kernel_stack_mask)(%rip), %rax
959 test %rax, %rax /* are we on the kernel stack? */
962 mov %gs:CPU_INT_STACK_TOP, %rax
963 dec %rax /* intr stack top is byte above max */
964 xor %rcx, %rax
965 and EXT(kernel_stack_mask)(%rip), %rax
966 test %rax, %rax /* are we on the interrupt stack? */
989 lea HNDL_ALLINTRS(%rip), %rax
990 push %rax /* trapfn allintrs */
992 mov ISF64_ERR(%rcx), %rax
1101 movq %gs:CPU_KERNEL_STACK,%rax
1103 xorq %rax,%rcx
1137 mov %cr0,%rax /* get cr0 */
1139 mov %rax,%cr0 /* set cr0 */
1170 movq %gs:CPU_ACTIVE_THREAD,%rax
1171 movq TH_PCB_FPS(%rax),%rax /* get pcb's ifps */
1172 cmpq $0,%rax /* Is there a context */
1174 movl FP_VALID(%rax),%eax /* Load fp_valid */
1180 mov %cr0,%rax /* get cr0 */
1182 mov %rax,%cr0 /* set cr0 */
1378 CCALL3(i386_exception, $(EXC_SYSCALL), %rax, $1)