Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/include/asmacros.h
Show First 20 Lines • Show All 173 Lines • ▼ Show 20 Lines | 1: movq %rdi,TF_RDI(%rsp) ; \ | ||||
movq %r13,TF_R13(%rsp) ; \ | movq %r13,TF_R13(%rsp) ; \ | ||||
movq %r14,TF_R14(%rsp) ; \ | movq %r14,TF_R14(%rsp) ; \ | ||||
movq %r15,TF_R15(%rsp) ; \ | movq %r15,TF_R15(%rsp) ; \ | ||||
movw %fs,TF_FS(%rsp) ; \ | movw %fs,TF_FS(%rsp) ; \ | ||||
movw %gs,TF_GS(%rsp) ; \ | movw %gs,TF_GS(%rsp) ; \ | ||||
movw %es,TF_ES(%rsp) ; \ | movw %es,TF_ES(%rsp) ; \ | ||||
movw %ds,TF_DS(%rsp) ; \ | movw %ds,TF_DS(%rsp) ; \ | ||||
movl $TF_HASSEGS,TF_FLAGS(%rsp) ; \ | movl $TF_HASSEGS,TF_FLAGS(%rsp) ; \ | ||||
cld ; \ | pushfq; andl $~(PSL_D | PSL_AC),(%rsp); popfq; \ | ||||
jhb: Perhaps go ahead and break these out on separate lines since all the other instructions are on… | |||||
testb $SEL_RPL_MASK,TF_CS(%rsp) ; /* come from kernel ? */ \ | testb $SEL_RPL_MASK,TF_CS(%rsp) ; /* come from kernel ? */ \ | ||||
jz 2f ; /* yes, leave PCB_FULL_IRET alone */ \ | jz 2f ; /* yes, leave PCB_FULL_IRET alone */ \ | ||||
movq PCPU(CURPCB),%r8 ; \ | movq PCPU(CURPCB),%r8 ; \ | ||||
andl $~PCB_FULL_IRET,PCB_FLAGS(%r8) ; \ | andl $~PCB_FULL_IRET,PCB_FLAGS(%r8) ; \ | ||||
2: | 2: | ||||
#define POP_FRAME \ | #define POP_FRAME \ | ||||
movq TF_RDI(%rsp),%rdi ; \ | movq TF_RDI(%rsp),%rdi ; \ | ||||
▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines |
Perhaps go ahead and break these out on separate lines since all the other instructions are on separate lines?