Skip to content

Commit 14e21f8

Browse files
author
Andy Polyakov
committed
Add framework for yet another assembler module dubbed "cpuid." Idea
is to have a placeholder to small routines, which can be written only in assembler. In IA-32 case this includes processor capability identification and access to Time-Stamp Counter. As discussed earlier OPENSSL_ia32cap is introduced to control recently added SSE2 code pathes (see docs/crypto/OPENSSL_ia32cap.pod). For the moment the code is operational on ELF platforms only. I haven't checked it yet, but I have all reasons to believe that Windows build should fail to link too. I'll be looking into it shortly...
1 parent f10725a commit 14e21f8

13 files changed

Lines changed: 438 additions & 60 deletions

File tree

Configure

Lines changed: 51 additions & 47 deletions
Large diffs are not rendered by default.

Makefile.org

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@ MAKEDEPPROG=makedepend
8080
AS=$(CC) -c
8181
ASFLAG=$(CFLAG)
8282

83+
# For x86 assembler: Set PROCESSOR to 386 if you want to support
84+
# the 80386.
85+
PROCESSOR=
86+
87+
# CPUID module collects small commonly used assembler snippets
88+
CPUID_OBJ=
89+
8390
# Set BN_ASM to bn_asm.o if you want to use the C version
8491
BN_ASM= bn_asm.o
8592
#BN_ASM= bn_asm.o
@@ -95,10 +102,6 @@ BN_ASM= bn_asm.o
95102
#BN_ASM= asm/x86w16.o # 16 bit code for Windows 3.1/DOS
96103
#BN_ASM= asm/x86w32.o # 32 bit code for Windows 3.1
97104

98-
# For x86 assembler: Set PROCESSOR to 386 if you want to support
99-
# the 80386.
100-
PROCESSOR=
101-
102105
# Set DES_ENC to des_enc.o if you want to use the C version
103106
#There are 4 x86 assember options.
104107
DES_ENC= asm/dx86-out.o asm/yx86-out.o
@@ -229,6 +232,7 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
229232
EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
230233
SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
231234
PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' \
235+
CPUID_OBJ='${CPUID_OBJ}' \
232236
BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' \
233237
AES_ASM_OBJ='${AES_ASM_OBJ}' \
234238
BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' \

0 commit comments

Comments
 (0)