X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fsparcv9cap.c;h=c8c567536b33d78cedf4c650cebc64b84ee62b05;hb=4e6647506331fc3b3ef5b23e5dbe188279ddd575;hp=bcb3592a8ba1ab76a6b5bd90527a7bb613fbb7e4;hpb=33ea23dc5c8d20b29b45bb09784ff907386ff4c1;p=openssl.git diff --git a/crypto/sparcv9cap.c b/crypto/sparcv9cap.c index bcb3592a8b..c8c567536b 100644 --- a/crypto/sparcv9cap.c +++ b/crypto/sparcv9cap.c @@ -1,3 +1,12 @@ +/* + * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + #include #include #include @@ -6,6 +15,7 @@ #include #include #include +#include "internal/cryptlib.h" #include "sparc_arch.h" @@ -84,11 +94,12 @@ void _sparcv9_vis2_probe(void); void _sparcv9_fmadd_probe(void); unsigned long _sparcv9_rdcfr(void); void _sparcv9_vis3_probe(void); +void _sparcv9_fjaesx_probe(void); unsigned long _sparcv9_random(void); size_t _sparcv9_vis1_instrument_bus(unsigned int *, size_t); size_t _sparcv9_vis1_instrument_bus2(unsigned int *, size_t, size_t); -unsigned long OPENSSL_rdtsc(void) +uint32_t OPENSSL_rdtsc(void) { if (OPENSSL_sparcv9cap_P[0] & SPARCV9_TICK_PRIVILEGED) #if defined(__sun) && defined(__SVR4) @@ -155,9 +166,9 @@ void OPENSSL_cpuid_setup(void) #if defined(__sun) && defined(__SVR4) if (getisax != NULL) { - unsigned int vec[1]; + unsigned int vec[2] = { 0, 0 }; - if (getisax (vec,1)) { + if (getisax (vec,2)) { if (vec[0]&0x00020) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS1; if (vec[0]&0x00040) OPENSSL_sparcv9cap_P[0] |= SPARCV9_VIS2; if (vec[0]&0x00080) OPENSSL_sparcv9cap_P[0] |= SPARCV9_BLK;