summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
diff options
context:
space:
mode:
Diffstat (limited to 'CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm')
-rw-r--r--CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm433
1 files changed, 0 insertions, 433 deletions
diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
deleted file mode 100644
index 542e759ecd..0000000000
--- a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
+++ /dev/null
@@ -1,433 +0,0 @@
-; WARNING: do not edit!
-; Generated from openssl/crypto/x86cpuid.pl
-;
-; Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved.
-;
-; Licensed under the OpenSSL license (the "License"). You may not use
-; this file except in compliance with the License. You can obtain a copy
-; in the file LICENSE in the source distribution or at
-; https://www.openssl.org/source/license.html
-
-%ifidn __OUTPUT_FORMAT__,obj
-section code use32 class=code align=64
-%elifidn __OUTPUT_FORMAT__,win32
-$@feat.00 equ 1
-section .text code align=64
-%else
-section .text code
-%endif
-global _OPENSSL_ia32_cpuid
-align 16
-_OPENSSL_ia32_cpuid:
-L$_OPENSSL_ia32_cpuid_begin:
- push ebp
- push ebx
- push esi
- push edi
- xor edx,edx
- pushfd
- pop eax
- mov ecx,eax
- xor eax,2097152
- push eax
- popfd
- pushfd
- pop eax
- xor ecx,eax
- xor eax,eax
- mov esi,DWORD [20+esp]
- mov DWORD [8+esi],eax
- bt ecx,21
- jnc NEAR L$000nocpuid
- cpuid
- mov edi,eax
- xor eax,eax
- cmp ebx,1970169159
- setne al
- mov ebp,eax
- cmp edx,1231384169
- setne al
- or ebp,eax
- cmp ecx,1818588270
- setne al
- or ebp,eax
- jz NEAR L$001intel
- cmp ebx,1752462657
- setne al
- mov esi,eax
- cmp edx,1769238117
- setne al
- or esi,eax
- cmp ecx,1145913699
- setne al
- or esi,eax
- jnz NEAR L$001intel
- mov eax,2147483648
- cpuid
- cmp eax,2147483649
- jb NEAR L$001intel
- mov esi,eax
- mov eax,2147483649
- cpuid
- or ebp,ecx
- and ebp,2049
- cmp esi,2147483656
- jb NEAR L$001intel
- mov eax,2147483656
- cpuid
- movzx esi,cl
- inc esi
- mov eax,1
- xor ecx,ecx
- cpuid
- bt edx,28
- jnc NEAR L$002generic
- shr ebx,16
- and ebx,255
- cmp ebx,esi
- ja NEAR L$002generic
- and edx,4026531839
- jmp NEAR L$002generic
-L$001intel:
- cmp edi,4
- mov esi,-1
- jb NEAR L$003nocacheinfo
- mov eax,4
- mov ecx,0
- cpuid
- mov esi,eax
- shr esi,14
- and esi,4095
-L$003nocacheinfo:
- mov eax,1
- xor ecx,ecx
- cpuid
- and edx,3220176895
- cmp ebp,0
- jne NEAR L$004notintel
- or edx,1073741824
- and ah,15
- cmp ah,15
- jne NEAR L$004notintel
- or edx,1048576
-L$004notintel:
- bt edx,28
- jnc NEAR L$002generic
- and edx,4026531839
- cmp esi,0
- je NEAR L$002generic
- or edx,268435456
- shr ebx,16
- cmp bl,1
- ja NEAR L$002generic
- and edx,4026531839
-L$002generic:
- and ebp,2048
- and ecx,4294965247
- mov esi,edx
- or ebp,ecx
- cmp edi,7
- mov edi,DWORD [20+esp]
- jb NEAR L$005no_extended_info
- mov eax,7
- xor ecx,ecx
- cpuid
- mov DWORD [8+edi],ebx
-L$005no_extended_info:
- bt ebp,27
- jnc NEAR L$006clear_avx
- xor ecx,ecx
-db 15,1,208
- and eax,6
- cmp eax,6
- je NEAR L$007done
- cmp eax,2
- je NEAR L$006clear_avx
-L$008clear_xmm:
- and ebp,4261412861
- and esi,4278190079
-L$006clear_avx:
- and ebp,4026525695
- and DWORD [8+edi],4294967263
-L$007done:
- mov eax,esi
- mov edx,ebp
-L$000nocpuid:
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-;extern _OPENSSL_ia32cap_P
-global _OPENSSL_rdtsc
-align 16
-_OPENSSL_rdtsc:
-L$_OPENSSL_rdtsc_begin:
- xor eax,eax
- xor edx,edx
- lea ecx,[_OPENSSL_ia32cap_P]
- bt DWORD [ecx],4
- jnc NEAR L$009notsc
- rdtsc
-L$009notsc:
- ret
-global _OPENSSL_instrument_halt
-align 16
-_OPENSSL_instrument_halt:
-L$_OPENSSL_instrument_halt_begin:
- lea ecx,[_OPENSSL_ia32cap_P]
- bt DWORD [ecx],4
- jnc NEAR L$010nohalt
-dd 2421723150
- and eax,3
- jnz NEAR L$010nohalt
- pushfd
- pop eax
- bt eax,9
- jnc NEAR L$010nohalt
- rdtsc
- push edx
- push eax
- hlt
- rdtsc
- sub eax,DWORD [esp]
- sbb edx,DWORD [4+esp]
- add esp,8
- ret
-L$010nohalt:
- xor eax,eax
- xor edx,edx
- ret
-global _OPENSSL_far_spin
-align 16
-_OPENSSL_far_spin:
-L$_OPENSSL_far_spin_begin:
- pushfd
- pop eax
- bt eax,9
- jnc NEAR L$011nospin
- mov eax,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
-dd 2430111262
- xor eax,eax
- mov edx,DWORD [ecx]
- jmp NEAR L$012spin
-align 16
-L$012spin:
- inc eax
- cmp edx,DWORD [ecx]
- je NEAR L$012spin
-dd 529567888
- ret
-L$011nospin:
- xor eax,eax
- xor edx,edx
- ret
-global _OPENSSL_wipe_cpu
-align 16
-_OPENSSL_wipe_cpu:
-L$_OPENSSL_wipe_cpu_begin:
- xor eax,eax
- xor edx,edx
- lea ecx,[_OPENSSL_ia32cap_P]
- mov ecx,DWORD [ecx]
- bt DWORD [ecx],1
- jnc NEAR L$013no_x87
-dd 4007259865,4007259865,4007259865,4007259865,2430851995
-L$013no_x87:
- lea eax,[4+esp]
- ret
-global _OPENSSL_atomic_add
-align 16
-_OPENSSL_atomic_add:
-L$_OPENSSL_atomic_add_begin:
- mov edx,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- push ebx
- nop
- mov eax,DWORD [edx]
-L$014spin:
- lea ebx,[ecx*1+eax]
- nop
-dd 447811568
- jne NEAR L$014spin
- mov eax,ebx
- pop ebx
- ret
-global _OPENSSL_cleanse
-align 16
-_OPENSSL_cleanse:
-L$_OPENSSL_cleanse_begin:
- mov edx,DWORD [4+esp]
- mov ecx,DWORD [8+esp]
- xor eax,eax
- cmp ecx,7
- jae NEAR L$015lot
- cmp ecx,0
- je NEAR L$016ret
-L$017little:
- mov BYTE [edx],al
- sub ecx,1
- lea edx,[1+edx]
- jnz NEAR L$017little
-L$016ret:
- ret
-align 16
-L$015lot:
- test edx,3
- jz NEAR L$018aligned
- mov BYTE [edx],al
- lea ecx,[ecx-1]
- lea edx,[1+edx]
- jmp NEAR L$015lot
-L$018aligned:
- mov DWORD [edx],eax
- lea ecx,[ecx-4]
- test ecx,-4
- lea edx,[4+edx]
- jnz NEAR L$018aligned
- cmp ecx,0
- jne NEAR L$017little
- ret
-global _CRYPTO_memcmp
-align 16
-_CRYPTO_memcmp:
-L$_CRYPTO_memcmp_begin:
- push esi
- push edi
- mov esi,DWORD [12+esp]
- mov edi,DWORD [16+esp]
- mov ecx,DWORD [20+esp]
- xor eax,eax
- xor edx,edx
- cmp ecx,0
- je NEAR L$019no_data
-L$020loop:
- mov dl,BYTE [esi]
- lea esi,[1+esi]
- xor dl,BYTE [edi]
- lea edi,[1+edi]
- or al,dl
- dec ecx
- jnz NEAR L$020loop
- neg eax
- shr eax,31
-L$019no_data:
- pop edi
- pop esi
- ret
-global _OPENSSL_instrument_bus
-align 16
-_OPENSSL_instrument_bus:
-L$_OPENSSL_instrument_bus_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov eax,0
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _OPENSSL_instrument_bus2
-align 16
-_OPENSSL_instrument_bus2:
-L$_OPENSSL_instrument_bus2_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov eax,0
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-global _OPENSSL_ia32_rdrand_bytes
-align 16
-_OPENSSL_ia32_rdrand_bytes:
-L$_OPENSSL_ia32_rdrand_bytes_begin:
- push edi
- push ebx
- xor eax,eax
- mov edi,DWORD [12+esp]
- mov ebx,DWORD [16+esp]
- cmp ebx,0
- je NEAR L$021done
- mov ecx,8
-L$022loop:
-db 15,199,242
- jc NEAR L$023break
- loop L$022loop
- jmp NEAR L$021done
-align 16
-L$023break:
- cmp ebx,4
- jb NEAR L$024tail
- mov DWORD [edi],edx
- lea edi,[4+edi]
- add eax,4
- sub ebx,4
- jz NEAR L$021done
- mov ecx,8
- jmp NEAR L$022loop
-align 16
-L$024tail:
- mov BYTE [edi],dl
- lea edi,[1+edi]
- inc eax
- shr edx,8
- dec ebx
- jnz NEAR L$024tail
-L$021done:
- xor edx,edx
- pop ebx
- pop edi
- ret
-global _OPENSSL_ia32_rdseed_bytes
-align 16
-_OPENSSL_ia32_rdseed_bytes:
-L$_OPENSSL_ia32_rdseed_bytes_begin:
- push edi
- push ebx
- xor eax,eax
- mov edi,DWORD [12+esp]
- mov ebx,DWORD [16+esp]
- cmp ebx,0
- je NEAR L$025done
- mov ecx,8
-L$026loop:
-db 15,199,250
- jc NEAR L$027break
- loop L$026loop
- jmp NEAR L$025done
-align 16
-L$027break:
- cmp ebx,4
- jb NEAR L$028tail
- mov DWORD [edi],edx
- lea edi,[4+edi]
- add eax,4
- sub ebx,4
- jz NEAR L$025done
- mov ecx,8
- jmp NEAR L$026loop
-align 16
-L$028tail:
- mov BYTE [edi],dl
- lea edi,[1+edi]
- inc eax
- shr edx,8
- dec ebx
- jnz NEAR L$028tail
-L$025done:
- xor edx,edx
- pop ebx
- pop edi
- ret
-segment .bss
-common _OPENSSL_ia32cap_P 16
-segment .CRT$XCU data align=4
-extern _OPENSSL_cpuid_setup
-dd _OPENSSL_cpuid_setup