[openssl/openssl] 27527f: CI: cross-compile: Allow to set CPU capabilities

Christoph Müllner noreply at github.com
Tue Jan 24 11:04:21 UTC 2023


  Branch: refs/heads/openssl-3.1
  Home:   https://github.com/openssl/openssl
  Commit: 27527f230cd73866af118287b2ab302255063392
      https://github.com/openssl/openssl/commit/27527f230cd73866af118287b2ab302255063392
  Author: Christoph Müllner <christoph.muellner at vrull.eu>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M .github/workflows/cross-compiles.yml

  Log Message:
  -----------
  CI: cross-compile: Allow to set CPU capabilities

The cross-compile CI tests use cross-compilers for building
and QEMU for testing. This implies that testing of ISA extension
for HW accelerated cryptographic calculations is undefined
(it depends on arch-specific QEMU defaults and arch-specific
detection mechanisms in OpenSSL).

Let's add a mechanism to set two environment variables, that allow
to control the ISA extensions:
* QEMU_CPU: used by QEMU to specify CPU capabilities of the emulation
* OPENSSL_*: used by OpenSSL (on some architectures) to enable ISA
  extensions.

Signed-off-by: Christoph Müllner <christoph.muellner at vrull.eu>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Hugo Landau <hlandau at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20107)

(cherry picked from commit af0a4c46846323fc33f713b5ccd758a526c19ed0)


  Commit: 2c83dedef6adb505732f8338e627269a52a920e6
      https://github.com/openssl/openssl/commit/2c83dedef6adb505732f8338e627269a52a920e6
  Author: Christoph Müllner <christoph.muellner at vrull.eu>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M .github/workflows/cross-compiles.yml

  Log Message:
  -----------
  CI: cross-compile: riscv: Add RV64 machine with Zb* and Zk*

RISC-V already has a couple of routines to accelerate cryptographic
calculations using ISA extensions. Let's add a cross-compile target
that allows the CI to test this code.

The new defined machine is a rv64gc machine with
* all Bitmanip extensions (Zb*)
* all Scalar Crypto extensions (Zk*)

This selection matches the supported RISC-V extensions in OpenSSL.

Signed-off-by: Christoph Müllner <christoph.muellner at vrull.eu>

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
Reviewed-by: Hugo Landau <hlandau at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20107)

(cherry picked from commit e787c57c538d0922004e49a10be0d403af773272)


Compare: https://github.com/openssl/openssl/compare/538358abc9fb...2c83dedef6ad


More information about the openssl-commits mailing list