diff options
| author | Brent Cook <busterb@gmail.com> | 2025-05-19 06:19:25 +0900 |
|---|---|---|
| committer | Brent Cook <busterb@gmail.com> | 2025-05-19 06:19:47 +0900 |
| commit | 570b0b73c7ebd2506a1fd4b890a76d8588a342a6 (patch) | |
| tree | 169ca87f882081b5de98df103f7a19f20898afc9 | |
| parent | b905935b885023c203f24a9cdfbebde1ab965b0b (diff) | |
| download | portable-570b0b73c7ebd2506a1fd4b890a76d8588a342a6.tar.gz portable-570b0b73c7ebd2506a1fd4b890a76d8588a342a6.tar.bz2 portable-570b0b73c7ebd2506a1fd4b890a76d8588a342a6.zip | |
add windows aarch64 cpu_caps
| -rw-r--r-- | crypto/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | crypto/arch/aarch64/crypto_cpu_caps_windows.c | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index dff4993..1c6436c 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
| @@ -152,6 +152,8 @@ if(HOST_AARCH64) | |||
| 152 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_linux.c) | 152 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_linux.c) |
| 153 | elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") | 153 | elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") |
| 154 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c) | 154 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps.c) |
| 155 | elseif(WIN32) | ||
| 156 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_windows.c) | ||
| 155 | else() | 157 | else() |
| 156 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_none.c) | 158 | set(CRYPTO_SRC ${CRYPTO_SRC} arch/aarch64/crypto_cpu_caps_none.c) |
| 157 | endif() | 159 | endif() |
diff --git a/crypto/arch/aarch64/crypto_cpu_caps_windows.c b/crypto/arch/aarch64/crypto_cpu_caps_windows.c new file mode 100644 index 0000000..e7cdded --- /dev/null +++ b/crypto/arch/aarch64/crypto_cpu_caps_windows.c | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | /* $OpenBSD: crypto_cpu_caps.c,v 1.2 2024/11/12 13:52:31 jsing Exp $ */ | ||
| 2 | /* | ||
| 3 | * Copyright (c) 2025 Brent Cook <bcook@openbsd.org> | ||
| 4 | * | ||
| 5 | * Permission to use, copy, modify, and distribute this software for any | ||
| 6 | * purpose with or without fee is hereby granted, provided that the above | ||
| 7 | * copyright notice and this permission notice appear in all copies. | ||
| 8 | * | ||
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include <windows.h> | ||
| 19 | |||
| 20 | #include "crypto_arch.h" | ||
| 21 | |||
| 22 | /* Machine dependent CPU capabilities. */ | ||
| 23 | uint64_t crypto_cpu_caps_aarch64; | ||
| 24 | |||
| 25 | void | ||
| 26 | crypto_cpu_caps_init(void) | ||
| 27 | { | ||
| 28 | crypto_cpu_caps_aarch64 = 0; | ||
| 29 | |||
| 30 | if (IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE)) { | ||
| 31 | crypto_cpu_caps_aarch64 |= CRYPTO_CPU_CAPS_AARCH64_AES; | ||
| 32 | crypto_cpu_caps_aarch64 |= CRYPTO_CPU_CAPS_AARCH64_PMULL; | ||
| 33 | crypto_cpu_caps_aarch64 |= CRYPTO_CPU_CAPS_AARCH64_SHA1; | ||
| 34 | crypto_cpu_caps_aarch64 |= CRYPTO_CPU_CAPS_AARCH64_SHA2; | ||
| 35 | } | ||
| 36 | } | ||
