public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 0/3] CryptoPkg/OpensslLib: Add native instruction support for IA32
@ 2022-09-21 20:25 Christopher Zurcher
  2022-09-21 20:25 ` [PATCH v1 1/3] " Christopher Zurcher
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Christopher Zurcher @ 2022-09-21 20:25 UTC (permalink / raw)
  To: devel; +Cc: Yi Li, Jiewen Yao, Jian J Wang, Xiaoyu Lu, Guomin Jiang

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3654
PR: https://github.com/tianocore/edk2/pull/3352

This patch adds support for building the native instruction algorithms for
the IA32 architecture in OpensslLib. The base variant has been tested
with VS2019 and CLANGPDB toolchains, and a GCC variant is also provided.

The implementation here follows the previous implementation of X64
native instructions as committed in 878a92a887.

Cc: Yi Li <yi1.li@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>

Christopher Zurcher (3):
  CryptoPkg/OpensslLib: Add native instruction support for IA32
  CryptoPkg/OpensslLib: Commit the auto-generated assembly files for
    IA32
  CryptoPkg/OpensslLib: Update generated files for native X64

 CryptoPkg/CryptoPkg.ci.yaml                                   |    4 +
 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm   | 3212 +++++++++++++++++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm   |  651 ++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm |  700 ++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm    | 1394 ++++++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm  | 3364 ++++++++++++++++++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm  |  579 ++++
 CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm        |  433 +++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S   | 3247 +++++++++++++++++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S   |  670 ++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S |  703 ++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S    | 1389 ++++++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S  | 3356 +++++++++++++++++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S  |  574 ++++
 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S        |  449 +++
 CryptoPkg/Library/OpensslLib/OpensslLibIa32.inf               |  699 ++++
 CryptoPkg/Library/OpensslLib/OpensslLibIa32Gcc.inf            |  699 ++++
 CryptoPkg/Library/OpensslLib/OpensslLibX64.inf                |   53 +
 CryptoPkg/Library/OpensslLib/OpensslLibX64Gcc.inf             |   53 +
 CryptoPkg/Library/OpensslLib/UefiAsm.conf                     |   18 +
 CryptoPkg/Library/OpensslLib/process_files.pl                 |   12 +
 21 files changed, 22259 insertions(+)
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S
 create mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S
 create mode 100644 CryptoPkg/Library/OpensslLib/OpensslLibIa32.inf
 create mode 100644 CryptoPkg/Library/OpensslLib/OpensslLibIa32Gcc.inf

-- 
2.29.2.windows.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-09-23 11:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-21 20:25 [PATCH v1 0/3] CryptoPkg/OpensslLib: Add native instruction support for IA32 Christopher Zurcher
2022-09-21 20:25 ` [PATCH v1 1/3] " Christopher Zurcher
2022-09-21 20:25 ` [PATCH v1 2/3] CryptoPkg/OpensslLib: Commit the auto-generated assembly files " Christopher Zurcher
2022-09-21 20:25 ` [PATCH v1 3/3] CryptoPkg/OpensslLib: Update generated files for native X64 Christopher Zurcher
2022-09-22  0:53 ` [PATCH v1 0/3] CryptoPkg/OpensslLib: Add native instruction support for IA32 Yao, Jiewen
2022-09-22  1:45   ` [edk2-devel] " Christopher Zurcher
2022-09-23 10:34     ` Yao, Jiewen
     [not found]     ` <171776D81421E66F.25721@groups.io>
2022-09-23 11:08       ` Yao, Jiewen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox