Lines Matching refs:rax
86 push %rax ;\
87 leaq func(%rip), %rax ;\
88 movq %rax, 8(%rsp) ;\
89 pop %rax
100 push %rax ;\
102 pop %rax ;\
186 mov %rax, R64_RAX(%rsp)
197 mov %cr2, %rax
198 mov %rax, R64_CR2(%rsp)
218 pushq %rax
219 leaq HNDL_ALLTRAPS(%rip), %rax
220 movq %rax, ISF64_TRAPFN+8(%rsp)
221 popq %rax
258 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 */
496 mov R64_RAX(%rsp), %rax
523 * These are entered via a syscall interrupt. The system call number in %rax
533 pushq %rax /* save system call number */
541 pushq %rax /* save system call number */
549 pushq %rax /* save system call number */
571 mov %rax, ISF64_ERR(%rsp) /* err/rax - syscall code */
608 push %rax /* err/eax - syscall code */
618 push %rax /* save %rax temporarily */
619 leaq EXT(idt64_unix_scall_copy_args)(%rip), %rax
620 cmp %rax, 8+ISF64_RIP(%rsp) /* fault during copy args? */
624 pop %rax /* restore %rax, swapgs, and continue */
650 push %rax /* save %rax temporarily */
651 lea EXT(idt64_sysenter)(%rip), %rax
652 cmp %rax, ISF64_RIP+8(%rsp)
653 pop %rax
674 push %rax
675 leaq EXT(idt64_syscall)(%rip), %rax
676 cmp %rax, ISF64_RIP+8(%rsp)
677 pop %rax
720 push %rax
722 leaq EXT(ret32_iret)(%rip), %rax
723 cmp %rax, 8+ISF64_RIP(%rsp)
725 leaq EXT(ret64_iret)(%rip), %rax
726 cmp %rax, 8+ISF64_RIP(%rsp)
728 leaq EXT(ret32_set_ds)(%rip), %rax
729 cmp %rax, 8+ISF64_RIP(%rsp)
731 leaq EXT(ret32_set_es)(%rip), %rax
732 cmp %rax, 8+ISF64_RIP(%rsp)
734 leaq EXT(ret32_set_fs)(%rip), %rax
735 cmp %rax, 8+ISF64_RIP(%rsp)
737 leaq EXT(ret32_set_gs)(%rip), %rax
738 cmp %rax, 8+ISF64_RIP(%rsp)
741 leaq EXT(idt64_unix_scall_copy_args)(%rip), %rax
742 cmp %rax, 8+ISF64_RIP(%rsp)
752 * Note: %rax has been pushed on stack.
757 movq %gs:CPU_THIS, %rax /* get gs_base into %rax */
758 test %rax, %rax /* test sign bit (MSB) */
762 movq %gs:CPU_UBER_ISF, %rax /* PCB stack addr */
763 subq %rsp, %rax
764 cmpq $(PAGE_SIZE), %rax /* current stack in PCB? */
766 pop %rax /* - no, restore %rax */
773 movq %gs:CPU_KERNEL_STACK, %rax
774 xchgq %rax, %rsp
775 pushq 8+ISF64_SS(%rax)
776 pushq 8+ISF64_RSP(%rax)
777 pushq 8+ISF64_RFLAGS(%rax)
778 pushq 8+ISF64_CS(%rax)
779 pushq 8+ISF64_RIP(%rax)
780 pushq 8+ISF64_ERR(%rax)
781 pushq 8+ISF64_TRAPFN(%rax)
782 pushq 8+ISF64_TRAPNO(%rax)
783 movq (%rax), %rax
794 * (- rax saved above, which is immediately popped)
811 pop %rax /* recover saved %rax */
812 mov %rax, ISF64_RIP(%rsp) /* save rax (we don`t need saved rip) */
813 mov ISF64_TRAPNO(%rsp), %rax
814 mov %rax, ISF64_RSP(%rsp) /* put in user trap number */
815 mov ISF64_TRAPFN(%rsp), %rax
816 mov %rax, ISF64_SS(%rsp) /* put in user trap function */
817 mov ISF64_ERR(%rsp), %rax /* get error code */
818 mov %rax, 8+ISF64_SS(%rsp) /* put in user errcode */
819 mov ISF64_RIP(%rsp), %rax /* restore rax */
830 pop %rax /* toss saved %rax from stack */
831 mov ISF64_TRAPNO(%rsp), %rax
835 mov %rax,ISC32_TRAPNO(%rsp)
967 movq %gs:CPU_KERNEL_STACK,%rax
969 xorq %rax,%rcx
999 mov %cr0,%rax /* get cr0 */
1001 mov %rax,%cr0 /* set cr0 */
1022 xor %rax,%rax
1023 movq %rax,%gs:CPU_INT_STATE /* clear intr state pointer */
1033 movq %gs:CPU_ACTIVE_THREAD,%rax
1034 movq TH_PCB_FPS(%rax),%rax /* get pcb's ifps */
1035 cmpq $0,%rax /* Is there a context */
1037 movl FP_VALID(%rax),%eax /* Load fp_valid */
1043 mov %cr0,%rax /* get cr0 */
1045 mov %rax,%cr0 /* set cr0 */
1081 movq %gs:CPU_KERNEL_STACK,%rax
1083 xorq %rax,%rcx
1272 CCALL3(i386_exception, $(EXC_SYSCALL), %rax, $1)