Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/support.S
| Show First 20 Lines • Show All 1,971 Lines • ▼ Show 20 Lines | 2: movntdq %xmm0, (%rdx) | ||||
| testb $CR0_TS, %al | testb $CR0_TS, %al | ||||
| je 3f | je 3f | ||||
| movq %rax, %cr0 | movq %rax, %cr0 | ||||
| 3: popq %rcx | 3: popq %rcx | ||||
| popq %rdx | popq %rdx | ||||
| popq %rax | popq %rax | ||||
| retq | retq | ||||
| END(mds_handler_silvermont) | END(mds_handler_silvermont) | ||||
| /* | |||||
| * Do the same as Linux and execute IRET explicitly, despite IPI | |||||
| * return does it as well. | |||||
| */ | |||||
| ENTRY(cpu_sync_core) | |||||
| /* | |||||
| * Can utilize SERIALIZE when instruction is moved from | |||||
| * 'future extensions' to SDM. | |||||
| */ | |||||
| movq (%rsp), %rdx | |||||
| movl %ss, %eax | |||||
| pushq %rax | |||||
| pushq %rsp | |||||
| addq $16, (%rsp) | |||||
| pushfq | |||||
| movl %cs, %eax | |||||
| pushq %rax | |||||
| pushq %rdx | |||||
| iretq | |||||
| END(cpu_sync_core) | |||||