diff options
| author | miod <> | 2015-09-13 10:02:49 +0000 |
|---|---|---|
| committer | miod <> | 2015-09-13 10:02:49 +0000 |
| commit | 83f57d181d785f30f940e80aab02506a0ccdffb8 (patch) | |
| tree | 360415740c3bcfc8c18a28a02f9843f406141836 /src/lib/libcrypto/cryptlib.c | |
| parent | 6dfed4d8d462a506b9ea9e0e96092d0eda8373f1 (diff) | |
| download | openbsd-83f57d181d785f30f940e80aab02506a0ccdffb8.tar.gz openbsd-83f57d181d785f30f940e80aab02506a0ccdffb8.tar.bz2 openbsd-83f57d181d785f30f940e80aab02506a0ccdffb8.zip | |
Add a new interface, OPENSSL_cpu_caps(), to return the currently running
cpu's specific hardware capabilities users of libcrypto might be interested
in, as an integer value. This deprecates the existing OPENSSL_ia32cap()
macro and the OPENSSL_ia32cap_loc() function (which returns the pointer so
that you can mess with stuff you shouldn't mess with).
Interpreting the value returned by OPENSSL_cpu_caps() is, of course,
machine-dependent.
Minor version bump for libcrypto.
ok beck@ jsing@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/cryptlib.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/libcrypto/cryptlib.c b/src/lib/libcrypto/cryptlib.c index 896e3d39cf..fff59f2dfd 100644 --- a/src/lib/libcrypto/cryptlib.c +++ b/src/lib/libcrypto/cryptlib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: cryptlib.c,v 1.35 2015/06/27 22:42:02 doug Exp $ */ | 1 | /* $OpenBSD: cryptlib.c,v 1.36 2015/09/13 10:02:49 miod Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -641,6 +641,12 @@ OPENSSL_ia32cap_loc(void) | |||
| 641 | return (unsigned long *)OPENSSL_ia32cap_P; | 641 | return (unsigned long *)OPENSSL_ia32cap_P; |
| 642 | } | 642 | } |
| 643 | 643 | ||
| 644 | uint64_t | ||
| 645 | OPENSSL_cpu_caps(void) | ||
| 646 | { | ||
| 647 | return *(uint64_t *)OPENSSL_ia32cap_P; | ||
| 648 | } | ||
| 649 | |||
| 644 | #if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY) | 650 | #if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY) |
| 645 | #define OPENSSL_CPUID_SETUP | 651 | #define OPENSSL_CPUID_SETUP |
| 646 | typedef unsigned long long IA32CAP; | 652 | typedef unsigned long long IA32CAP; |
| @@ -673,6 +679,12 @@ OPENSSL_ia32cap_loc(void) | |||
| 673 | { | 679 | { |
| 674 | return NULL; | 680 | return NULL; |
| 675 | } | 681 | } |
| 682 | |||
| 683 | uint64_t | ||
| 684 | OPENSSL_cpu_caps(void) | ||
| 685 | { | ||
| 686 | return 0; | ||
| 687 | } | ||
| 676 | #endif | 688 | #endif |
| 677 | 689 | ||
| 678 | #if !defined(OPENSSL_CPUID_SETUP) && !defined(OPENSSL_CPUID_OBJ) | 690 | #if !defined(OPENSSL_CPUID_SETUP) && !defined(OPENSSL_CPUID_OBJ) |
