/linux/arch/x86/lib/ |
H A D | atomic64_386_32.S | 38 movl 4(v), %edx 54 movl 4(v), %edx 64 adcl %edx, 4(v) 72 adcl 4(v), %edx 74 movl %edx, 4(v) 82 sbbl %edx, 4(v) 89 negl %edx 91 sbbl $0, %edx 93 adcl 4(v), %edx 95 movl %edx, 4(v) [all …]
|
H A D | atomic64_cx8_32.S | 13 movl %ecx, %edx 21 movl 4(\reg), %edx 56 movl %edx, %edi 62 movl %edx, %ecx 71 movl %ecx, %edx 90 movl %edx, %ecx 99 movl %ecx, %edx 114 movl %edx, %ecx 124 movl %ecx, %edx 137 movl %edx, %edi [all …]
|
H A D | copy_mc_64.S | 21 cmpl $8, %edx 35 subl %ecx, %edx 46 movl %edx, %ecx 47 andl $7, %edx 62 andl %edx, %edx 66 movl %edx, %ecx 90 addl %edx, %ecx 102 addl %edx, %ecx 103 movl %ecx, %edx
|
/linux/arch/x86/math-emu/ |
H A D | wm_shrx.S | 48 movl 4(%esi),%edx /* msl */ 51 shrd %cl,%edx,%ebx 52 shr %cl,%edx 54 movl %edx,4(%esi) 66 movl 4(%esi),%edx /* msl */ 67 shrd %cl,%edx,%eax 68 shr %cl,%edx 69 movl %edx,(%esi) 82 xorl %edx,%edx 83 movl %edx,(%esi) [all …]
|
H A D | reg_u_div.S | 93 movswl EXP(%esi),%edx 95 subl %eax,%edx 96 addl EXP_BIAS,%edx 99 cmpl EXP_WAY_UNDER,%edx 103 movl EXP_WAY_UNDER,%edx 122 movl SIGH(%esi),%edx /* Dividend */ 125 cmpl %ecx,%edx 129 subl %ecx,%edx /* Prevent the overflow */ 191 movl SIGH(%esi),%edx 198 cmpl SIGH(%ebx),%edx /* Test for imminent overflow */ [all …]
|
H A D | round_Xsig.S | 35 movl 8(%esi),%edx 41 orl %edx,%edx /* ms bits */ 45 movl %ebx,%edx 52 bsrl %edx,%ecx /* get the required shift in %ecx */ 56 shld %cl,%ebx,%edx 65 adcl $0,%edx 68 movl $0x80000000,%edx 72 movl %edx,8(%esi) 95 movl 8(%esi),%edx 101 orl %edx,%edx /* ms bits */ [all …]
|
H A D | div_Xsig.S | 130 movl FPU_accum_3,%edx 143 mov %edx,%eax 156 sbbl %edx,FPU_accum_3 162 sbbl %edx,FPU_accum_2 174 movl XsigH(%ebx),%edx 176 sbbl %edx,FPU_accum_2 188 movl FPU_accum_2,%edx /* get the reduced num */ 192 cmpl XsigH(%ebx),%edx 203 sbbl XsigH(%ebx),%edx 204 movl %edx,FPU_accum_2 [all …]
|
H A D | reg_u_sub.S | 68 movl PARAM6,%edx 71 xorl %edx,%edx /* register extension */ 83 shrd %cl,%ebx,%edx 95 shrd %cl,%eax,%edx 100 orl $1,%edx /* record the fact in the extension */ 108 movl %ebx,%edx 118 movl %eax,%edx 122 orl $1,%edx 130 movl %eax,%edx 131 rcrl %edx [all …]
|
H A D | reg_round.S | 122 movl PARAM2,%edx 205 orl %edx,%ecx 222 orl %edx,%edx 241 orl %edx,%ecx 284 orl %edx,%ecx 298 orl %edx,%edx 316 orl %edx,%ecx 349 orl %edx,%edx 357 orl %edx,%edx 362 cmpl $0x80000000,%edx [all …]
|
H A D | mul_Xsig.S | 43 movl %edx,-12(%ebp) 48 adcl %edx,-8(%ebp) 54 adcl %edx,-4(%ebp) 84 movl %edx,-12(%ebp) 88 addl %edx,-12(%ebp) 95 adcl %edx,-8(%ebp) 101 adcl %edx,-8(%ebp) 107 adcl %edx,-4(%ebp) 138 movl %edx,-12(%ebp) 142 addl %edx,-12(%ebp) [all …]
|
H A D | wm_sqrt.S | 92 xorl %edx,%edx 101 rcrl $1,%edx 109 movl %edx,FPU_fsqrt_arg_0 116 shll %edx /* max result was 7fff... */ 117 testl $0x80000000,%edx /* but min was 3fff... */ 120 movl $0x80000000,%edx /* round up */ 123 movl %edx,%esi /* Our first guess */ 140 movl %ecx,%edx /* msw of the arg / 2 */ 145 movl %ecx,%edx 150 movl %ecx,%edx [all …]
|
H A D | shr_Xsig.S | 38 movl 8(%esi),%edx /* msl */ 40 shrd %cl,%edx,%ebx 41 shr %cl,%edx 44 movl %edx,8(%esi) 56 movl 8(%esi),%edx /* msl */ 57 shrd %cl,%edx,%eax 58 shr %cl,%edx 60 movl %edx,4(%esi) 73 xorl %edx,%edx 75 movl %edx,4(%esi) [all …]
|
H A D | reg_norm.S | 32 movl SIGH(%ebx),%edx 35 orl %edx,%edx /* ms bits */ 42 movl %eax,%edx 48 bsrl %edx,%ecx /* get the required shift in %ecx */ 51 shld %cl,%eax,%edx 55 movl %edx,SIGH(%ebx) 110 movl SIGH(%ebx),%edx 113 orl %edx,%edx /* ms bits */ 120 movl %eax,%edx 126 bsrl %edx,%ecx /* get the required shift in %ecx */ [all …]
|
H A D | reg_u_add.S | 46 movl %ecx,%edx 55 movl PARAM7,%edx 68 xorl %edx,%edx /* clear the extension */ 83 shrd %cl,%ebx,%edx 95 shrd %cl,%eax,%edx 100 orl $1,%edx /* record the fact in the extension */ 108 movl %ebx,%edx 117 movl %eax,%edx 121 orl $1,%edx 125 movl $1,%edx /* The shifted nr always at least one '1' */ [all …]
|
H A D | polynom_Xsig.S | 55 movl 4(%edi),%edx /* terms[n] */ 56 movl %edx,SUM_MS 57 movl (%edi),%edx /* terms[n] */ 58 movl %edx,SUM_MIDDLE 74 movl %edx,ACCUM_LS 79 adcl %edx,ACCUM_MIDDLE 85 adcl %edx,ACCUM_MIDDLE 91 adcl %edx,ACCUM_MS
|
/linux/arch/x86/um/ |
H A D | setjmp_32.S | 24 movl %eax,%edx 26 movl 4(%esp),%edx 30 movl %ebx,(%edx) 31 movl %esp,4(%edx) # Post-return %esp! 33 movl %ebp,8(%edx) 34 movl %esi,12(%edx) 35 movl %edi,16(%edx) 36 movl %ecx,20(%edx) # Return address 47 xchgl %eax,%edx 49 movl 4(%esp),%edx # jmp_ptr address [all …]
|
/linux/arch/x86/platform/efi/ |
H A D | efi_stub_32.S | 23 push %edx 30 movl $1f, %edx 31 subl $__PAGE_OFFSET, %edx 32 jmp *%edx 36 movl %cr0, %edx 37 andl $0x7fffffff, %edx 38 movl %edx, %cr0 49 movl 36(%esp), %edx // &efi.runtime 50 movl %ecx, (%edx) 53 movl %cr0, %edx [all …]
|
/linux/arch/x86/boot/compressed/ |
H A D | mem_encrypt.S | 97 pushl %edx 107 movl %ebx, %edx # CPUID fn 111 movl %edx, 12(%esp) # Store result 114 movl %ebx, %edx # CPUID fn 118 movl %edx, 8(%esp) # Store result 121 movl %ebx, %edx # CPUID fn 125 movl %edx, 4(%esp) # Store result 128 movl %ebx, %edx # CPUID fn 132 movl %edx, 0(%esp) # Store result 154 popl %edx [all …]
|
/linux/tools/arch/x86/kcpuid/ |
H A D | cpuid.csv | 18 0x0, 0, edx, 31:0, cpu_vendorid_1 , CPU vendor ID string bytes 4 - 7 64 0x1, 0, edx, 0, fpu , Floating-Point Unit on-chip (x87) 65 0x1, 0, edx, 1, vme , Virtual-8086 Mode Extensions 66 0x1, 0, edx, 2, de , Debugging Extensions 67 0x1, 0, edx, 3, pse , Page Size Extension 68 0x1, 0, edx, 4, tsc , Time Stamp Counter 69 0x1, 0, edx, 5, msr , Model-Specific Registers (RDMSR and WRMSR support) 70 0x1, 0, edx, 6, pae , Physical Address Extensions 71 0x1, 0, edx, 7, mce , Machine Check Exception 72 0x1, 0, edx, [all...] |
/linux/arch/x86/kernel/ |
H A D | ftrace_32.S | 46 pushl %edx 51 movl 4*4(%esp), %edx 54 lea 4*4(%esp), %edx 59 movl 4(%edx), %edx /* edx has ebp */ 69 popl %edx 127 pushl %edx 135 movl 21*4(%esp), %edx # 2nd argument: parent ip 155 popl %edx 175 pushl %edx 178 lea 4*4(%esp), %edx [all …]
|
/linux/arch/x86/realmode/rm/ |
H A D | reboot.S | 39 xorl %edx, %edx 99 movl %cr0, %edx 100 andl $0x00000011, %edx 101 orl $0x60000000, %edx 102 movl %edx, %cr0 104 movl %cr0, %edx 105 testl $0x60000000, %edx /* If no cache bits -> no wbinvd */ 110 movl %edx, %cr0
|
H A D | trampoline_64.S | 127 movl %edx, %ss 129 movl %edx, %ds 130 movl %edx, %es 131 movl %edx, %fs 132 movl %edx, %gs 172 cmp pa_tr_efer + 4, %edx 176 movl pa_tr_efer + 4, %edx 236 movl %edx, %ss 238 movl %edx, %ds 239 movl %edx, %es [all …]
|
/linux/arch/x86/kernel/cpu/microcode/ |
H A D | internal.h | 59 #define CPUID_IS(a, b, c, ebx, ecx, edx) \ argument 60 (!(((ebx) ^ (a)) | ((edx) ^ (b)) | ((ecx) ^ (c)))) 74 u32 ebx, ecx = 0, edx; in x86_cpuid_vendor() local 76 native_cpuid(&eax, &ebx, &ecx, &edx); in x86_cpuid_vendor() 78 if (CPUID_IS(CPUID_INTEL1, CPUID_INTEL2, CPUID_INTEL3, ebx, ecx, edx)) in x86_cpuid_vendor() 81 if (CPUID_IS(CPUID_AMD1, CPUID_AMD2, CPUID_AMD3, ebx, ecx, edx)) in x86_cpuid_vendor() 90 u32 ebx, ecx = 0, edx; in x86_cpuid_family() local 92 native_cpuid(&eax, &ebx, &ecx, &edx); in x86_cpuid_family()
|
/linux/arch/x86/kvm/ |
H A D | cpuid.c | 161 xfeatures = best->eax | ((u64)best->edx << 32); in kvm_check_cpuid() 197 e2[i].ecx != orig->ecx || e2[i].edx != orig->edx) in kvm_cpuid_check_equal() 219 signature[2] = entry->edx; in kvm_get_hypervisor_cpuid() 263 return (best->eax | ((u64)best->edx << 32)) & kvm_caps.supported_xcr0; in cpuid_get_supported_xcr0() 331 return is_guest_vendor_amd(entry->ebx, entry->ecx, entry->edx) || in guest_cpuid_is_amd_or_hygon() 332 is_guest_vendor_hygon(entry->ebx, entry->ecx, entry->edx); in guest_cpuid_is_amd_or_hygon() 350 return entry->edx; in cpuid_get_reg_unsafe() 588 e2[i].edx = e[i].edx; in kvm_vcpu_ioctl_set_cpuid() 665 &entry.eax, &entry.ebx, &entry.ecx, &entry.edx); in raw_cpuid_get() 1286 &entry->eax, &entry->ebx, &entry->ecx, &entry->edx); in do_host_cpuid() [all …]
|
/linux/arch/x86/include/asm/fpu/ |
H A D | xcr.h | 10 u32 eax, edx; in xgetbv() local 12 asm volatile("xgetbv" : "=a" (eax), "=d" (edx) : "c" (index)); in xgetbv() 13 return eax + ((u64)edx << 32); in xgetbv() 19 u32 edx = value >> 32; in xsetbv() local 21 asm volatile("xsetbv" :: "a" (eax), "d" (edx), "c" (index)); in xsetbv()
|